home *** CD-ROM | disk | FTP | other *** search
/ Quick PC 61 / Quick PC 61.iso / I386 / WMS.CAB / pubpoint_props.asp < prev    next >
Encoding:
Text File  |  2003-02-21  |  158.3 KB  |  3,550 lines

  1. ∩╗┐<%@ Language=VBScript CODEPAGE=65001 %>
  2. <!--#include file="include/wmsLocStrings.inc"-->
  3. <!--#include file="include/wmsServerHash.inc"-->
  4. <!--#include file="include/wmsPlugins.inc"-->
  5. <!--#include file="include/wmsHeader.inc"-->
  6. <!--#include file="include/wmsRefresh.inc"-->
  7. <!--#include file="include/wmsError.inc"-->
  8. <!--#include file="include/wmsToolbar.inc"-->
  9. <!--#include file="include/wmsPageBanner.inc"-->
  10. <!--#include file="include/wmsTabs.inc"-->
  11. <%
  12. '+-------------------------------------------------------------------------
  13. '
  14. '  Microsoft Windows Media
  15. '  Copyright (C) Microsoft Corporation. All rights reserved.
  16. '
  17. '  File:       PubPoint_Props.asp
  18. '
  19. '  Contents:    Implementation of Properties Tab at the publishing point level
  20. '
  21. '--------------------------------------------------------------------------
  22.  
  23. BeginErrorHandling
  24. ClearError
  25. ConnectToServer
  26. ConnectToPubPoint
  27.  
  28. Const SHOWING_GENERAL = 0
  29. Const SHOWING_PLUGINS = 1
  30. Const SHOWING_LIMITS = 2
  31. Const SHOWING_CACHEPROXYMGMT = 3
  32. Const SHOWING_NETWORKING = 4
  33. Const SHOWING_CREDENTIALS = 5
  34. Const SHOWING_WIRELESS = 6
  35.  
  36. Dim strCategory
  37. Dim strEncodedInstance
  38. Dim strDecodedInstance
  39. Dim dwQueryStringPluginIndex
  40. Dim strPPStatus
  41. Dim bBroadcastPubPoint
  42. Dim bCacheProxyPubPoint
  43. Dim bBroadcastPPStarted
  44. Dim dwPPStatus 
  45. Dim dwPPType
  46. Dim iPluginCount
  47. Dim strSubCategory
  48. Dim iFormSelect
  49. Dim strStartOnFirstConnectChecked
  50. Dim strOp
  51. Dim bPluginDisabledError
  52. Dim bPluginRemovedError
  53. Dim bPluginRemovedErrorEnable
  54. Dim bPluginRenamedError
  55. Dim bPluginDuplicateError
  56. Dim dwDisplayMode
  57. Dim blnRunningOnWhistlerAdvServer
  58. Dim iGeneral
  59. Dim iAuthorizers
  60. Dim iLogging
  61. Dim iEvent
  62. Dim iAuthen
  63. Dim iLimits
  64. Dim iWireless
  65. Dim iPlXform
  66. Dim iCPMgmt
  67. Dim iArchivers
  68. Dim iMCast
  69. Dim iNetworking
  70. Dim iCredentials
  71. Dim bDriveUpdateToTreeView
  72. Dim bCheckedAnItem
  73. Dim strLeft
  74. Dim strRight
  75. Dim objPPLimits
  76. Dim strError
  77. Dim strOnLoadProc
  78.  
  79. Dim dwNumPluginsDisplayed
  80.  
  81. Dim dwSizeLimText
  82. Dim strPlayerConnections
  83. Dim strDistConnections
  84. Dim strAggPlayerBW
  85. Dim strDistAggBW
  86. Dim strPlayerBW
  87. Dim strDistBW
  88. Dim strRapidStartBW
  89. Dim strDeliveryRate
  90.  
  91. Dim bAllowPlayerCaching
  92. Dim bAllowStreamSplitting
  93. Dim bAllowAutoStart
  94. Dim bAllowDistributionCaching
  95. Dim bAllowDirBrowse
  96. Dim bAllowDownload
  97.  
  98. Dim strCurrentCheckedPluginName
  99. Dim bCurSelCanBeDuplicated
  100. Dim bCurSelCanBeRemoved
  101. Dim bCurSelSupportsEnableDisable
  102. Dim bCurSelSupportsProperties
  103. Dim bCurSelEnabled
  104. Dim bCurSelIsActiveScriptNoFilename
  105.  
  106. '////////////////////////////////////////////////////////////////
  107. Function GenExpirationString( strValue )
  108.     GenExpirationString = Replace( L_EXPIREIN_TEXT, "___", Server.HTMLEncode( trim( strValue ) ), 1 )
  109. End Function
  110.     
  111. '////////////////////////////////////////////////////////////////
  112. Sub Main
  113.     strCurrentCheckedPluginName = "plugin_0"
  114.     bCurSelCanBeDuplicated = TRUE
  115.     bCurSelCanBeRemoved = TRUE
  116.     bCurSelSupportsEnableDisable = FALSE
  117.     bCurSelSupportsProperties = FALSE
  118.     bCurSelEnabled = FALSE
  119.     bCurSelIsActiveScriptNoFilename = FALSE
  120.  
  121.     on error resume next
  122.     dwSizeLimText = CalcLenOfUnlimited
  123.  
  124.     bDriveUpdateToTreeView = FALSE
  125.     if ( 0 = strcomp( "true", RemoveDangerousCharacters( qs("s") ), vbTextCompare ) ) then
  126.         bDriveUpdateToTreeView = TRUE
  127.     end if
  128.  
  129.     if( empty = g_objPubPoint ) then
  130.         Server.Transfer( "pubpoint_collection.asp" )
  131.     end if
  132.  
  133.     dwPPType = g_objPubPoint.Type
  134.  
  135.     if( 0 <> Len( trim( qs( "propChange" ) ) ) ) then
  136.         if( 0 < Len( trim( qs( "playerCaching" ) ) ) ) then
  137.             if( 0 = trim( qs( "playerCaching" ) ) ) then
  138.                 g_objPubPoint.AllowPlayerSideDiskCaching = FALSE
  139.             else
  140.                 g_objPubPoint.AllowPlayerSideDiskCaching = TRUE
  141.             end if
  142.         elseif( 0 < Len( trim( qs( "distCaching" ) ) ) ) then
  143.             if( 0 = trim( qs( "distCaching" ) ) ) then
  144.                 g_objPubPoint.AllowContentCaching = FALSE
  145.             else
  146.                 g_objPubPoint.AllowContentCaching = TRUE
  147.             end if
  148.         elseif( 0 < Len( trim( qs( "dirBrowsing" ) ) ) ) then
  149.             if( 0 = trim( qs( "dirBrowsing" ) ) ) then
  150.                 g_objPubPoint.EnableClientWildcardDirectoryAccess = FALSE
  151.             else
  152.                 g_objPubPoint.EnableClientWildcardDirectoryAccess = TRUE
  153.             end if
  154.         elseif( 0 < Len( trim( qs( "allowDownloading" ) ) ) ) then
  155.             if( 0 = trim( qs( "allowDownloading" ) ) ) then
  156.                 g_objPubPoint.EnableDownload = FALSE
  157.             else
  158.                 g_objPubPoint.EnableDownload = TRUE
  159.             end if
  160.         elseif( 0 < Len( trim( qs( "allowStreamSplitting" ) ) ) ) then
  161.             if( 0 = trim( qs( "allowStreamSplitting" ) ) ) then
  162.                 g_objPubPoint.AllowStreamSplitting = FALSE
  163.             else
  164.                 g_objPubPoint.AllowStreamSplitting = TRUE
  165.             end if
  166.         elseif( 0 < Len( trim( qs( "allowAutoStart" ) ) ) ) then
  167.             if( 0 = trim( qs( "allowAutoStart" ) ) ) then
  168.                 g_objPubPoint.AllowClientToStartAndStop = FALSE
  169.             else
  170.                 g_objPubPoint.AllowClientToStartAndStop = TRUE
  171.             end if
  172.         end if
  173.         
  174.         Response.Redirect( "pubpoint_props.asp?server=" & g_strQueryStringServer & "&ppID=" & g_strPubPointID & "&category=" & RemoveDangerousCharacters( qs("category" ) ) )
  175.         Response.Flush    
  176.     end if 
  177.  
  178.     bPluginDisabledError = FALSE
  179.     bPluginRemovedError = FALSE
  180.     bPluginRemovedErrorEnable = FALSE
  181.     bPluginRenamedError = FALSE
  182.     bPluginDuplicateError = FALSE
  183.  
  184.     strSubCategory = ""
  185.     iFormSelect = -1
  186.  
  187.     '
  188.     '  Determine the publishing point type
  189.     '
  190.     bCacheProxyPubPoint = FALSE
  191.     if ( WMS_PUBLISHING_POINT_TYPE_CACHE_PROXY_BROADCAST = dwPPType ) or ( WMS_PUBLISHING_POINT_TYPE_CACHE_PROXY_ON_DEMAND = dwPPType ) then
  192.         bCacheProxyPubPoint = TRUE
  193.     end if
  194.  
  195.     bBroadcastPubPoint = FALSE
  196.     if ( WMS_PUBLISHING_POINT_TYPE_BROADCAST = dwPPType ) or ( WMS_PUBLISHING_POINT_TYPE_CACHE_PROXY_BROADCAST = dwPPType ) then
  197.         bBroadcastPubPoint = TRUE
  198.         bAllowStreamSplitting = g_objPubPoint.AllowStreamSplitting
  199.         bAllowAutoStart = g_objPubPoint.AllowClientToStartAndStop
  200.         dwPPStatus = g_objPubPoint.BroadcastStatus
  201.     else
  202.         bAllowDistributionCaching = g_objPubPoint.AllowContentCaching
  203.         bAllowDirBrowse = g_objPubPoint.EnableClientWildcardDirectoryAccess
  204.         bAllowDownload = g_objPubPoint.EnableDownload
  205.         dwPPStatus = g_objPubPoint.Status
  206.     end if
  207.  
  208.     bAllowPlayerCaching = g_objPubPoint.AllowPlayerSideDiskCaching
  209.     bAllowingConnections = g_objPubPoint.AllowClientsToConnect
  210.  
  211.     if( empty = g_objServer ) then
  212.         Server.Transfer( "include/server_stopped.asp" )
  213.     end if
  214.     on error resume next
  215.     dwProductType = g_objServer.OSProductType
  216.     if( 0 <> err.number ) then
  217.         blnRunningOnWhistlerAdvServer = FALSE
  218.         err.Clear
  219.     else
  220.         blnRunningOnWhistlerAdvServer = CBool( WMS_OS_PRODUCT_ADVANCED and dwProductType )
  221.     end if
  222.     on error resume next
  223.  
  224.     iGeneral = 0
  225.     iAuthorizers = 1
  226.     iLogging = 2
  227.     iEvent = 3
  228.     iAuthen = 4
  229.     iLimits = 5
  230.  
  231.     iWireless = -1
  232.     iPlXform = -1
  233.     iCPMgmt = -1
  234.     iArchivers = -1
  235.     iMCast = -1
  236.     iCredentials = -1
  237.     iNetworking = -1
  238.  
  239.     if( blnRunningOnWhistlerAdvServer ) then
  240.         iWireless = 6
  241.         if( FALSE = bCacheProxyPubPoint ) then
  242.             iPlXform = 7
  243.             iCPMgmt = 8
  244.         end if
  245.  
  246.         if( TRUE = bBroadcastPubPoint ) then
  247.             if( FALSE = bCacheProxyPubPoint ) then
  248.                 iArchivers = 9
  249.                 iMCast = 10
  250.                 iCredentials = 11
  251.                 iNetworking = 12
  252.             end if
  253.         else
  254.             if( FALSE = bCacheProxyPubPoint ) then
  255.                 iCredentials = 9
  256.             end if
  257.         end if
  258.     else
  259.         iPlXform = 6
  260.         iCPMgmt = 7
  261.         
  262.         if( TRUE = bBroadcastPubPoint ) then
  263.             iArchivers = 8
  264.             iCredentials = 9
  265.             iNetworking = 10
  266.         else
  267.             iCredentials = 8
  268.         end if
  269.     end if
  270.  
  271.     '
  272.     ' Process the category
  273.     '
  274.     dwDisplayMode = SHOWING_PLUGINS
  275.  
  276.     on error resume next
  277.     rem Set the category so that we can implement a default
  278.     strCategory = RemoveDangerousCharacters( qs( "category" ) )
  279.     strEncodedInstance = qs( "instance" )
  280.     strDecodedInstance = SafeUnescape( strEncodedInstance )
  281.     strPluginIndex = qs( "pluginIndex" )
  282.     if( 7 < Len( strPluginIndex ) ) then
  283.         dwQueryStringPluginIndex = CInt( Right( strPluginIndex, Len( strPluginIndex ) - 8 + 1 ) )
  284.     else
  285.         dwQueryStringPluginIndex = -1
  286.     end if
  287.     if( "" = strCategory ) then
  288.         strCategory = CAT_GEN
  289.     end if
  290.  
  291.     Select Case strCategory
  292.         case CAT_GEN
  293.             iFormSelect = iGeneral
  294.             dwDisplayMode = SHOWING_GENERAL
  295.             bCurSelCanBeDuplicated = FALSE
  296.             bCurSelCanBeRemoved = FALSE
  297.             bCurSelSupportsEnableDisable = FALSE
  298.             bCurSelSupportsProperties = FALSE
  299.         case CAT_AUTHORIZE
  300.             iFormSelect = iAuthorizers
  301.             Set g_objPluginCollection = g_objPubPoint.EventHandlers
  302.             strSubCategory = AUTHORIZE_SUBCAT
  303.             bCurSelSupportsEnableDisable = TRUE
  304.         case CAT_LOGGING
  305.             iFormSelect = iLogging
  306.             Set g_objPluginCollection = g_objPubPoint.EventHandlers
  307.             strSubCategory = LOGGING_SUBCAT
  308.             bCurSelSupportsEnableDisable = TRUE
  309.         case CAT_EVENT
  310.             iFormSelect = iEvent
  311.             Set g_objPluginCollection = g_objPubPoint.EventHandlers
  312.             bCurSelSupportsEnableDisable = TRUE
  313.         case CAT_AUTHEN
  314.             iFormSelect = iAuthen
  315.             Set g_objPluginCollection = g_objPubPoint.Authenticators
  316.             bCurSelSupportsEnableDisable = TRUE
  317.         case CAT_LIM
  318.             iFormSelect = iLimits
  319.             dwDisplayMode = SHOWING_LIMITS
  320.             bCurSelCanBeDuplicated = FALSE
  321.             bCurSelCanBeRemoved = FALSE
  322.             bCurSelSupportsEnableDisable = FALSE
  323.             bCurSelSupportsProperties = FALSE
  324.         case CAT_WIRELESS
  325.             if( blnRunningOnWhistlerAdvServer ) then
  326.                 iFormSelect = iWireless
  327.                 dwDisplayMode = SHOWING_WIRELESS
  328.                 bCurSelSupportsEnableDisable = TRUE
  329.                 bCurSelSupportsProperties = TRUE
  330.             end if
  331.         case CAT_PLAYXFORM
  332.             iFormSelect = iPlXform
  333.             Set g_objPluginCollection = g_objPubPoint.EventHandlers
  334.             strSubCategory = PLAYLISTXFORM_SUBCAT
  335.             bCurSelSupportsEnableDisable = TRUE
  336.         case CAT_CACHEPROXYMGMT
  337.             iFormSelect = iCPMgmt
  338.             dwDisplayMode = SHOWING_CACHEPROXYMGMT
  339.             bCurSelCanBeDuplicated = FALSE
  340.             bCurSelSupportsEnableDisable = FALSE
  341.             bCurSelSupportsProperties = TRUE
  342.         case CAT_ARCH
  343.             if( FALSE = bCacheProxyPubPoint ) and ( TRUE = bBroadcastPubPoint ) then
  344.                 iFormSelect = iArchivers
  345.                 Set g_objPluginCollection = g_objPubPoint.BroadcastDataSinks
  346.                 strSubCategory = ARCHIVER_SUBCAT
  347.                 bCurSelSupportsEnableDisable = TRUE
  348.             end if
  349.         case CAT_MCAST
  350.             if( FALSE = bCacheProxyPubPoint ) and blnRunningOnWhistlerAdvServer and bBroadcastPubPoint then
  351.                 iFormSelect = iMCast
  352.                 Set g_objPluginCollection = g_objPubPoint.BroadcastDataSinks
  353.                 strSubCategory = MULTICAST_SUBCAT
  354.                 bCurSelSupportsEnableDisable = TRUE
  355.             end if
  356.         case CAT_CRED
  357.             iFormSelect = iCredentials
  358.             dwDisplayMode = SHOWING_CREDENTIALS
  359.             bCurSelCanBeDuplicated = FALSE
  360.             bCurSelCanBeRemoved = FALSE
  361.             bCurSelSupportsEnableDisable = FALSE
  362.             bCurSelSupportsProperties = TRUE
  363.         case CAT_NET
  364.             iFormSelect = iNetworking
  365.             dwDisplayMode = SHOWING_NETWORKING
  366.             bCurSelCanBeDuplicated = FALSE
  367.             bCurSelCanBeRemoved = FALSE
  368.             bCurSelSupportsEnableDisable = FALSE
  369.             bCurSelSupportsProperties = TRUE
  370.         case Else
  371.             iFormSelect = iGeneral
  372.             bCurSelCanBeDuplicated = FALSE
  373.             bCurSelCanBeRemoved = FALSE
  374.             bCurSelSupportsEnableDisable = TRUE
  375.     End Select
  376.  
  377.     '
  378.     ' In the case of limits, the checkbox value is submitted with the form.  Attempting to reload
  379.     '  the page for every click would lose any changes the user had made to the limits settings.
  380.     '
  381.     if( SHOWING_LIMITS <> dwDisplayMode ) then
  382.         if( TRUE = bBroadcastPubPoint ) then
  383.             if "ON" = UCase( trim( qs("AutoStartPPCheckbox") ) ) then
  384.                 g_objPubPoint.AllowClientToStartAndStop = TRUE
  385.             elseif "OFF" = UCase( trim( qs("AutoStartPPCheckbox") ) ) then
  386.                 g_objPubPoint.AllowClientToStartAndStop = FALSE    
  387.             end if
  388.         end if
  389.     end if    
  390.     
  391.     '////////////////////////////////////////////////////////////////////////////////////////////////////
  392.     if SHOWING_LIMITS = dwDisplayMode then
  393.         Err.clear
  394.         set posting = Request.Form
  395.         strOp = RemoveDangerousCharacters( trim( posting("limitOp") ) )
  396.         strSubmit = RemoveDangerousCharacters( trim( posting("submit") ) )
  397.         if( 0 < Len( strSubmit ) ) then
  398.             set objPPLimits = g_objPubPoint.limits
  399.  
  400.     '        if( 0 = StrComp( strSubmit, Unescape( trim( L_APPLYBUTTON_TEXT ) ), vbTextCompare ) ) then
  401.  
  402.                 objPPLimits.ConnectedPlayers = NormalizeLimitText( Trim( posting( "PlayerConnText" ) ) )
  403.                 if( ErrorDetected( "PlayerConn" ) ) then
  404.                     ClearError
  405.                 end if
  406.  
  407.                 objPPLimits.OutgoingDistributionConnections = NormalizeLimitText( Trim( posting( "DistConnText" ) ) )
  408.                 if( ErrorDetected( "DistConn" ) ) then
  409.                 end if
  410.  
  411.                 objPPLimits.PlayerBandwidth = NormalizeLimitText( Trim( posting( "AggPlayerBWText" ) ) )
  412.                 if( ErrorDetected( "AggPlayerBW" ) ) then
  413.                 end if
  414.  
  415.                 objPPLimits.OutgoingDistributionBandwidth = NormalizeLimitText( Trim( posting( "AggDistBWText" ) ) )
  416.                 if( ErrorDetected( "AggDistBW" ) ) then
  417.                 end if
  418.  
  419.                 objPPLimits.PerPlayerConnectionBandwidth = NormalizeLimitText( Trim( posting( "PlayerBWText" ) ) )
  420.                 if( ErrorDetected( "PlayerBW" ) ) then
  421.                 end if
  422.  
  423.                 objPPLimits.PerOutgoingDistributionConnectionBandwidth = NormalizeLimitText( Trim( posting( "DistBWText" ) ) )
  424.                 if( ErrorDetected( "DistBW" ) ) then
  425.                 end if
  426.  
  427.                 on error resume next            
  428.                 strRapidStartBW = NormalizeLimitTextEx( Trim( posting( "RapidStartBWText" ) ), CStr( DEFAULT_RAPIDSTART_RATE ) ) 
  429.                 if( 0 = StrComp( DEFAULT_RAPIDSTART_RATE, strRapidStartBW, vbTextCompare ) ) then
  430.                     objPPLimits.PerPlayerRapidStartBandwidth = CDbl( DEFAULT_RAPIDSTART_RATE )
  431.                 else
  432.                     objPPLimits.PerPlayerRapidStartBandwidth = CDbl( strRapidStartBW )
  433.                 end if
  434.     '            if( ErrorDetected( "RapidStartBW" ) ) then
  435.                 if( 0 <> err.number )then
  436.                     err.clear
  437.                 end if
  438.                 
  439.                 strDeliveryRate = NormalizeLimitTextEx( Trim( posting("LimitDeliveryRateText" ) ), CStr( DEFAULT_DELIVERY_RATE ) )
  440.                 if( -1 = CInt( strDeliveryRate ) ) then
  441.                     objPPLimits.PlayerCacheDeliveryRate = -1
  442.                 else
  443.                     objPPLimits.PlayerCacheDeliveryRate = CInt( strDeliveryRate ) * 1000
  444.                 end if
  445.      
  446.                 if( ErrorDetected( "DeliveryRate" ) ) then
  447.                 end if
  448.  
  449.                 Response.Redirect( "pubpoint_props.asp?server=" & g_strQueryStringServer & "&ppID=" & g_strPubPointID & "&category=" & strCategory )
  450.     '        end if
  451.         
  452.         end if
  453.         
  454.     '////////////////////////////////////////////////////////////////////////////////////////////////////
  455.     elseif ( SHOWING_PLUGINS = dwDisplayMode ) then
  456.  
  457.         strOp = RemoveDangerousCharacters( trim( qs("op") ) )
  458.         Dim strClsID
  459.         if "" <> strOp then
  460.         
  461.             on error resume next
  462.             iPluginCount = g_objPluginCollection.Count
  463.  
  464.             Select Case strOp
  465.                 case "enable"
  466.                     Dim strPluginCLSID
  467.                     bDriveUpdateToTreeView = TRUE
  468.                     ConnectToPlugin
  469.                     err.clear
  470.                     strPluginCLSID = CStr( g_objPlugin.CLSID )
  471.                     if( 0 = StrComp( "{043cc79e-1e1b-11d3-9d0f-00c04f610d50}", strPluginCLSID, vbTextCompare ) ) then
  472.                         Session( "DisplayMcastWarning" ) = TRUE
  473.                     end if
  474.                     g_objPlugin.Enabled = TRUE
  475.                     if( ErrorDetected( "Enable" ) ) then
  476.                         if( -2147014848 = Err.number ) then
  477.                             err.Description = L_PORTINUSEERROR_TEXT
  478.                             Session( "ErrorNumber" ) = err.Number
  479.                             Session( "ErrorCulprit" ) = ""
  480.                             Session( "ErrorDescription" ) = L_PORTINUSEERROR_TEXT
  481.                             break
  482.                         elseif( -2147024773 = Err.number ) then
  483.                             err.Description = L_ACTSCRIPTPLERROR_TEXT
  484.                             Session( "ErrorNumber" ) = err.Number
  485.                             Session( "ErrorCulprit" ) = ""
  486.                             Session( "ErrorDescription" ) = L_ACTSCRIPTPLERROR_TEXT
  487.                             break
  488.                         end if
  489.                     end if
  490.                 case "disable"
  491.                     bDriveUpdateToTreeView = TRUE
  492.                     strError = CStr( trim( Session( "DisableError" ) ) )
  493.                     Session( "DisableError" ) = ""
  494.                     if( 0 < Len( strError ) ) then
  495.                         bPluginDisabledError = TRUE
  496.                     else
  497.                         ClearError
  498.                     end if
  499.                 case "remove"
  500.                     bDriveUpdateToTreeView = TRUE
  501.                     strError = CStr( trim( Session( "RemoveError" ) ) )
  502.                     Session( "RemoveError" ) = ""
  503.                     if( 0 = Len( strError ) ) then
  504.                         ClearError
  505.                     elseif( 0 = Len( qs("prompted") ) )then
  506.                         bPluginRemovedError = TRUE
  507.                     end if
  508.                 case "refresh"
  509.                     bDriveUpdateToTreeView = TRUE
  510.                 case Else
  511.             End Select
  512.  
  513.             if ( not bPluginRemovedError ) and ( not bPluginDisabledError ) then
  514.                 if( 0 <> Err.number ) then
  515.                     ErrorDetected( "" )
  516.                     Session( "PageReloadedToDisplayError" ) = 1
  517.                 else
  518.                     Response.Redirect( "pubpoint_props.asp?server=" & g_strQueryStringServer & "&ppID=" & g_strPubPointID & "&category=" & strCategory & "&pluginIndex=" & qs("pluginIndex") & "&s=true" )
  519.                     Response.Flush
  520.                     err.clear
  521.                 end if
  522.             end if
  523.         end if
  524.         
  525.     '////////////////////////////////////////////////////////////////////////////////////////////////////
  526.     else
  527.         ' Handle General operations
  528.     end if
  529.  
  530.     if( SHOWING_LIMITS = dwDisplayMode ) then
  531.         Set objPPLimits = g_objPubPoint.limits
  532.         strPlayerConnections = AdjustLimitText( objPPLimits.ConnectedPlayers )
  533.         strDistConnections = AdjustLimitText( objPPLimits.OutgoingDistributionConnections )
  534.         strAggPlayerBW = AdjustLimitText( objPPLimits.PlayerBandwidth )
  535.         strDistAggBW = AdjustLimitText( objPPLimits.OutgoingDistributionBandwidth )
  536.         strPlayerBW = AdjustLimitText( objPPLimits.PerPlayerConnectionBandwidth )
  537.         strDistBW = AdjustLimitText( objPPLimits.PerOutgoingDistributionConnectionBandwidth )
  538.  
  539.         on error resume next
  540.         ' Bug work-around  <><>
  541.         lRapidStartBW = objPPLimits.PerPlayerRapidStartBandwidth
  542.         
  543.         if( 0 <> err.number ) then
  544.             err.Clear
  545.             strRapidStartBW = CStr( L_DEFAULT_RAPIDSTART_RATE )
  546.         else
  547.             strRapidStartBW = AdjustLimitText( lRapidStartBW )
  548.         end if
  549.  
  550.         if ( FALSE = bBroadcastPubPoint ) then
  551.             strDeliveryRate = AdjustLimitText( objPPLimits.PlayerCacheDeliveryRate / 1000 )
  552.         end if
  553.     end if
  554.  
  555.     if( TRUE = bBroadcastPubPoint ) then
  556.         if( TRUE = g_objPubPoint.AllowClientToStartAndStop ) then
  557.             strStartOnFirstConnectChecked = " checked "
  558.         end if
  559.     end if
  560. End Sub
  561.  
  562. '/////////////////////////////////////////////////////////////////////////////////////
  563. Function NoFilenameActiveScriptPlugin( ByRef EachPlugin )
  564.     on error resume next
  565.     
  566.     NoFilenameActiveScriptPlugin = FALSE
  567.     if( strCategory <> CAT_EVENT ) then
  568.         Exit Function
  569.     end if
  570.     
  571.     Dim pluginAdmin
  572.     Dim strScriptFilename
  573.     Set pluginAdmin = EachPlugin.CustomInterface
  574.     if( 0 = err.number ) then
  575.         strScriptFilename = pluginAdmin.FileName
  576.         if( 0 = err.number ) then
  577.             if( 0 = Len( strScriptFilename ) ) then
  578.                 NoFilenameActiveScriptPlugin = TRUE
  579.             end if
  580.         end if
  581.     end if
  582.     err.Clear
  583. End Function
  584.  
  585. '/////////////////////////////////////////////////////////////////////////////////////
  586. Function CalcLenOfUnlimited()
  587.     Dim intLen
  588.     Dim strUnlimited
  589.  
  590.     intLen = 0
  591.     strUnlimited = L_UNLIMITED_TEXT
  592.     intLen = Len( strUnlimited )
  593.  
  594.     if( intLen < MAX_LEN_LIMIT ) then
  595.         intLen = MAX_LEN_LIMIT
  596.     end if
  597.  
  598.     CalcLenOfUnlimited = intLen
  599. end Function
  600.  
  601. '/////////////////////////////////////////////////////////////////////////////////////
  602. Sub IsDisabled( strValue )
  603.     if( 0 = StrComp( L_UNLIMITED_TEXT, strValue, vbTextCompare ) ) then
  604.         Response.Write( " disabled " )
  605.     end if
  606. end sub
  607.  
  608.  
  609. '/////////////////////////////////////////////////////////////////////////////////////
  610. Sub IsDisabledEx( strValue, strDisabled )
  611.     if( 0 = StrComp( strDisabled, strValue, vbTextCompare ) ) then
  612.         Response.Write( " disabled " )
  613.     end if
  614. end sub
  615.  
  616.  
  617. '/////////////////////////////////////////////////////////////////////////////////////
  618. Sub CheckIfNotDefault( strValue, strDefaultValue )
  619.     if( 0 <> strcomp( strValue, strDefaultValue, vbTextCompare ) ) then
  620.         Response.Write( " checked " )
  621.     end if
  622. end sub
  623.  
  624.  
  625. '/////////////////////////////////////////////////////////////////////////////////////
  626. Sub IsCheckedYesNo( bValue )
  627.     if( bValue ) then
  628.         Response.Write( " checked " )
  629.     end if
  630. end sub
  631.  
  632. '/////////////////////////////////////////////////////////////////////////////////////
  633. function CalcMaxInputLength( l )
  634.     if ( 0 = StrComp( L_UNLIMITED_TEXT, l, vbTextCompare ) ) then
  635.         CalcMaxInputLength = dwSizeLimText
  636.     else
  637.         CalcMaxInputLength = MAX_LEN_LIMIT
  638.     end if
  639. end function
  640.  
  641.  
  642. '/////////////////////////////////////////////////////////////////////////////////////
  643. function AdjustLimitText(l)
  644.     if -1 = l then
  645.         AdjustLimitText = L_UNLIMITED_TEXT
  646.     else
  647.         AdjustLimitText = l       
  648.     end if
  649. end function
  650.  
  651.  
  652. '/////////////////////////////////////////////////////////////////////////////////////
  653. function NormalizeLimitText( strText )
  654.     
  655.     if ( 0 = StrComp( L_UNLIMITED_TEXT, strText, vbTextCompare ) ) then
  656.         NormalizeLimitText = "-1"
  657.     else
  658.         if IsEmpty( strText ) then
  659.             NormalizeLimitText = "-1"
  660.         elseif ( 0 = Len( strText ) ) then
  661.             NormalizeLimitText = "-1"
  662.         elseif CLng( strText ) < -1 then
  663.             Err.Raise 13, "NormalizeLimitText", L_TYPEMISMATCH_TEXT
  664.             NormalizeLimitText = strText
  665.         else
  666.             if( ( CDbl( strText ) <= MAX_LIMIT_VAL ) and ( CDbl( strText ) >= 0 ) ) then
  667.                 NormalizeLimitText = strText
  668.             else
  669.                 Err.Raise 13, "NormalizeLimitText", L_TYPEMISMATCH_TEXT
  670.                 NormalizeLimitText = "-1"
  671.             end if
  672.         end if
  673.     end if
  674. end function
  675.  
  676. '/////////////////////////////////////////////////////////////////////////////////////
  677. function NormalizeLimitTextEx( strText, strDefault )
  678.     if ( 0 = StrComp( strText, strDefault, vbTextCompare ) ) then
  679.         NormalizeLimitTextEx = strDefault
  680.     else
  681.         if IsEmpty( strText ) then
  682.             NormalizeLimitTextEx = strDefault
  683.         elseif ( 0 = Len( strText ) ) then
  684.             NormalizeLimitTextEx = strDefault
  685.         elseif ( 0 = StrComp( L_UNLIMITED_TEXT, strText, vbTextCompare ) ) then
  686.             NormalizeLimitTextEx = -1
  687.         elseif CLng( strText ) < -1 then
  688.             Err.Raise 13, "NormalizeLimitTextEx", L_TYPEMISMATCH_TEXT
  689.             NormalizeLimitTextEx = strText
  690.         else
  691.             if( ( CDbl( strText ) <= MAX_LIMIT_VAL ) and ( CDbl( strText ) >= 0 ) ) then
  692.                 NormalizeLimitTextEx = strText
  693.             else
  694.                 Err.Raise 13, "NormalizeLimitTextEx", L_TYPEMISMATCH_TEXT
  695.                 NormalizeLimitTextEx = "-1"
  696.             end if
  697.         end if
  698.     end if
  699. end function
  700.  
  701. '/////////////////////////////////////////////////////////////////////////////////
  702. '/////////////////////////////////////////////////////////////////////////////////
  703. '/////////////////////////////////////////////////////////////////////////////////
  704. Main
  705. WriteHTMLHeader( g_strDecodedServerName )
  706. if( SHOWING_LIMITS <> dwDisplayMode ) then 
  707.     WriteRefreshMetaTag
  708. end if
  709. %>
  710. <link rel="stylesheet" type="text/css" href="<%= Session( "cssName" ) %>">
  711. <script language="JavaScript" src="include/WMSCommon.js"></script>
  712. <script language="JavaScript">
  713. <!--
  714. /*@cc_on @*/
  715. var g_szPropertiesArgs = "";
  716. var g_szCurPluginElementName; // do this server-side to overcome Mozilla upper-ascii escape() / unescape() bug
  717. var g_bCurSelCanBeDuplicated;
  718. var g_bCurSelCanBeRemoved;
  719. var g_bCurSelSupportsEnableDisable;
  720. var g_bCurSelSupportsProperties;
  721. var g_bInError;
  722. var g_bEnabled;
  723. var g_bShowActiveScriptWarning;
  724. var g_bAlreadySetFocus = false;
  725.  
  726. <% WriteCommonJSUtils %>
  727.  
  728. //////////////////////////////////////////////////////////////////////////
  729. function Init()
  730. {
  731.     <% jsTRY %>
  732.         SetInitialState();
  733.         DrawCurrentToolbarSelection();
  734.     <% jsCATCH %>
  735. }
  736.  
  737. //////////////////////////////////////////////////////////////////////////
  738. function DrawCurrentToolbarSelection()
  739. {
  740.     <% jsTRY %>
  741.         DrawEnableDisable( g_bCurSelSupportsEnableDisable, g_bEnabled, g_bInError );
  742.         DrawDuplicate( g_bCurSelCanBeDuplicated );
  743.         DrawRemove( g_bCurSelCanBeRemoved );
  744.         DrawProps( g_bCurSelSupportsProperties );
  745.         g_bToolbarLoaded = true;
  746.     <% jsCATCH %>
  747. }
  748.  
  749. //////////////////////////////////////////////////////////////////////////
  750. function DrawEnableDisable( bCurSelSupportsEnableDisable, bEnabled, bInError )
  751. {
  752.     <% jsTRY %>
  753.         if( bCurSelSupportsEnableDisable )
  754.         {
  755.             EnableToolbarItem( 0, ! bEnabled || bInError );
  756.             EnableToolbarItem( 1, bEnabled || bInError );
  757.         }
  758.         else
  759.         {
  760.             EnableToolbarItem( 0, false );
  761.             EnableToolbarItem( 1, false );
  762.         }
  763.     <% jsCATCH %>
  764. }
  765.  
  766. //////////////////////////////////////////////////////////////////////////
  767. function DrawRemove( bCurSelCanBeRemoved )
  768. {
  769.     <% jsTRY %>
  770.     EnableToolbarItem( 2, bCurSelCanBeRemoved );
  771.     <% jsCATCH %>
  772. }
  773.  
  774. //////////////////////////////////////////////////////////////////////////
  775. function DrawDuplicate( bCurSelSupportsDuplicate )
  776. {
  777.     <% jsTRY %>
  778.     EnableToolbarItem( 3, bCurSelSupportsDuplicate );
  779.     <% jsCATCH %>
  780. }
  781.  
  782. //////////////////////////////////////////////////////////////////////////
  783. function DrawProps( bCurSelSupportsProperties )
  784. {
  785.     <% jsTRY %>
  786.     EnableToolbarItem( 4, bCurSelSupportsProperties );
  787.     <% jsCATCH %>
  788. }
  789.  
  790. <% if SHOWING_LIMITS = dwDisplayMode or SHOWING_GENERAL = dwDisplayMode then %>
  791. //////////////////////////////////////////////////////////////////////////
  792. function Cancel()
  793. {
  794.     <% jsTRY %>
  795.     document.location.replace( "pubpoint_props.asp?server=<%= g_strQueryStringServer %>&ppID=<%= g_strPubPointID %>&category=<%= strCategory %>&pluginIndex=" + g_szCurPluginElementName );
  796.     <% jsCATCH %>
  797. }
  798.  
  799. //////////////////////////////////////////////////////////////////////////
  800. function SubmitGenCatChange( dwWhichProperty, theCheckbox, bEmulated )
  801. {
  802.     <% jsTRY %>
  803.         var bChecked;
  804.         var szExtraArgs;
  805.  
  806.         if( bEmulated )
  807.         {
  808.             theCheckbox.checked = ! theCheckbox.checked;
  809.         }
  810.         
  811.         bChecked = theCheckbox.checked;
  812.         
  813.         szExtraArgs = String( "&propChange=1" );
  814.         
  815.         switch( dwWhichProperty )
  816.         {
  817.         case 30:
  818.             szExtraArgs += "&playerCaching=";
  819.             break;
  820.         case 31:
  821.             szExtraArgs += "&distCaching=";
  822.             break;
  823.         case 32:
  824.             szExtraArgs += "&dirBrowsing=";
  825.             break;
  826.         case 34:
  827.             szExtraArgs += "&allowStreamSplitting=";
  828.             break;
  829.         case 35:
  830.             szExtraArgs += "&allowAutoStart=";
  831.             break;
  832.         }
  833.         
  834.         if( bChecked )
  835.         {
  836.             szExtraArgs += "1";
  837.         }
  838.         else
  839.         {
  840.             szExtraArgs += "0";
  841.         }
  842.         
  843.         document.location.replace( document.location + szExtraArgs );
  844.     <% jsCATCH %>
  845. }
  846.  
  847. //////////////////////////////////////////////////////////////////////////
  848. function IsValidEntry( theEditBox )
  849. {
  850.     <% jsTRY %>
  851.         var szTextEdit;
  852.         
  853.         if( theEditBox.disabled )
  854.         {
  855.             return( true );
  856.         }
  857.  
  858.         szTextEdit = new String( theEditBox.value );
  859.         
  860.         if ( ( "<%= L_UNLIMITED_TEXT %>" == szTextEdit ) && ( true == theEditBox.disabled ) )
  861.         {
  862.             return true;
  863.         }
  864.         
  865.         if( "" == szTextEdit )
  866.         {
  867.             return false;
  868.         }
  869.  
  870.         if( ! isFinite( szTextEdit ) )
  871.         {
  872.             return false;
  873.         }
  874.         
  875.         if( ( "-0" == szTextEdit ) || ( 0 > szTextEdit ) )
  876.         {
  877.             return false;
  878.         }
  879.  
  880.         if( 4294967295 <= szTextEdit )
  881.         {
  882.             return false;
  883.         }
  884.         
  885.         return true;
  886.     <% jsCATCH %>
  887. }
  888.  
  889. //////////////////////////////////////////////////////////////////////////
  890. function AllEntriesAreValid( bAlertUserOnError )
  891. {
  892.     <% jsTRY %>
  893.         var theForm;
  894.         theForm = document.forms.mainForm;
  895.  
  896.         if( IsValidEntry( theForm.PlayerConnText ) &&
  897.             IsValidEntry( theForm.DistConnText ) &&
  898.             IsValidEntry( theForm.AggPlayerBWText ) &&
  899.             IsValidEntry( theForm.AggDistBWText ) &&
  900.             IsValidEntry( theForm.PlayerBWText ) &&
  901.             IsValidEntry( theForm.DistBWText ) &&
  902.             IsValidEntry( theForm.RapidStartBWText ) )
  903.         {
  904.             return true;
  905.         }
  906.         
  907.         if( bAlertUserOnError )
  908.         {
  909.             window.alert( "<%= RemoveDangerousCharacters( L_PLEASEENTERVALUES_TEXT ) %>" );
  910.         }
  911.         
  912.         return false;
  913.     <% jsCATCH %>
  914. }
  915.  
  916. //////////////////////////////////////////////////////////////////////////
  917. function EnableButtons( bAlertUserOnError )
  918. {
  919.     <% jsTRY %>
  920.         var theForm;
  921.         theForm = document.forms.mainForm;
  922.  
  923.         if( AllEntriesAreValid( bAlertUserOnError ) )
  924.         {
  925.             if( theForm.submit.disabled )
  926.             {
  927.                 theForm.submit.disabled = false;
  928.             }
  929.             if( theForm.cancel.disabled )
  930.             {
  931.                 theForm.cancel.disabled = false;
  932.             }
  933.         }
  934.         else
  935.         {
  936.             if( ! theForm.submit.disabled )
  937.             {
  938.                 theForm.submit.disabled = true;
  939.             }
  940.             if( theForm.cancel.disabled )
  941.             {
  942.                 theForm.cancel.disabled = false;
  943.             }
  944.         }
  945.     <% jsCATCH %>
  946. }
  947.  
  948. //////////////////////////////////////////////////////////////////////////
  949. function InitLimits()
  950. {
  951.     <% jsTRY %>
  952.         var theCheckBox;
  953.         var theTextBox;
  954.         
  955.         theTextBox = document.mainForm.elements[ "PlayerConnText" ];
  956.         theCheckBox = document.mainForm.elements[ "PlayerConnCheckbox" ];
  957.         if( ! theCheckBox.checked )
  958.         {
  959.             theTextBox.disabled = true;
  960.         }
  961.  
  962.         theTextBox = document.mainForm.elements[ "DistConnText" ];
  963.         theCheckBox = document.mainForm.elements[ "DistConnCheckbox" ];
  964.         if( ! theCheckBox.checked )
  965.         {
  966.             theTextBox.disabled = true;
  967.         }
  968.  
  969.         theTextBox = document.mainForm.elements[ "AggPlayerBWText" ];
  970.         theCheckBox = document.mainForm.elements[ "AggPlayerBWCheckbox" ];
  971.         if( ! theCheckBox.checked )
  972.         {
  973.             theTextBox.disabled = true;
  974.         }
  975.  
  976.         theTextBox = document.mainForm.elements[ "AggDistBWText" ];
  977.         theCheckBox = document.mainForm.elements[ "AggDistBWCheckbox" ];
  978.         if( ! theCheckBox.checked )
  979.         {
  980.             theTextBox.disabled = true;
  981.         }
  982.  
  983.         theTextBox = document.mainForm.elements[ "RapidStartBWText" ];
  984.         theCheckBox = document.mainForm.elements[ "RapidStartBWCheckbox" ];
  985.         if( ! theCheckBox.checked )
  986.         {
  987.             theTextBox.disabled = true;
  988.         }
  989.         
  990.         theTextBox = document.mainForm.elements[ "PlayerBWText" ];
  991.         theCheckBox = document.mainForm.elements[ "PlayerBWCheckbox" ];
  992.         if( ! theCheckBox.checked )
  993.         {
  994.             theTextBox.disabled = true;
  995.         }
  996.  
  997.     <% if ( FALSE = bBroadcastPubPoint ) then %>
  998.         theTextBox = document.mainForm.elements[ "LimitDeliveryRateText" ];
  999.         theCheckBox = document.mainForm.elements[ "LimitDeliveryRateCheckbox" ];
  1000.         if( ! theCheckBox.checked )
  1001.         {
  1002.             theTextBox.disabled = true;
  1003.         }
  1004.     <% end if %>
  1005.     <% jsCATCH %>
  1006. }
  1007.  
  1008. //////////////////////////////////////////////////////////////////////////
  1009. function GetFormElementID( theElement )
  1010. {
  1011.     <% jsTRY %>
  1012.         var i,dwNumElementsl
  1013.         var bFound;
  1014.         var eachElement;
  1015.         
  1016.         dwNumElements = document.mainForm.elements.length;
  1017.         
  1018.         bFound = false;
  1019.         for( i = 0; ( i < dwNumElements ) && ( ! bFound ); i++ )
  1020.         {
  1021.             eachElement = document.mainForm.elements[ i ];
  1022.             if( eachElement.name == theElement.name )
  1023.             {
  1024.                 bFound = true;
  1025.                 break;
  1026.             }
  1027.         }
  1028.         if( ! bFound )
  1029.         {
  1030.             return( -1 );
  1031.         }
  1032.  
  1033.         return( i );
  1034.     <% jsCATCH %>
  1035. }
  1036.  
  1037. //////////////////////////////////////////////////////////////////////////
  1038. function CheckLimit( theCheckBox, theTextBox, szDefaultVal )
  1039. {
  1040.     <% jsTRY %>
  1041.         var x;
  1042.         var dwVal;
  1043.         var szVal;
  1044.  
  1045.         x = theTextBox.value;
  1046.         szVal = new String( x );
  1047.         if( 0 == szVal.length )
  1048.         {
  1049.             theTextBox.style.color="#000000";
  1050.             EnableButtons( false );
  1051.             return;
  1052.         }
  1053.         
  1054.         if ( "<%= L_UNLIMITED_TEXT %>" == szVal )
  1055.         {
  1056.             theCheckBox.checked = ( szDefaultVal != "<%= L_UNLIMITED_TEXT %>" );
  1057.             EnableButtons( false );
  1058.         }
  1059.         else if( "<%= L_INVALIDLIMIT_TEXT %>" != szVal )
  1060.         {
  1061.             if( isNaN( theTextBox.value ) )
  1062.             {
  1063.                 theTextBox.style.color="#ff0000";
  1064.                 EnableButtons( false );
  1065.                 return;
  1066.             }
  1067.             
  1068.             dwVal = parseInt( szVal );
  1069.             if( ! ( ( 0 <= dwVal ) && ( 0xffffffff >= dwVal ) ) )
  1070.             {
  1071.                 theTextBox.style.color="#ff0000";
  1072.                 EnableButtons( false );
  1073.                 return;
  1074.             }
  1075.             else
  1076.             {
  1077.                 var szNewVal = new String( dwVal );
  1078.                 if( theTextBox.value != szNewVal )
  1079.                 {
  1080.     //                theTextBox.value = dwVal;
  1081.                 }
  1082.             }
  1083.         }
  1084.         
  1085.         theTextBox.style.color="#000000";
  1086.         EnableButtons( false );
  1087.     <% jsCATCH %>
  1088. }
  1089.  
  1090. //////////////////////////////////////////////////////////////////////////
  1091. function ToggleCheckboxEx( theCheckBox, theTextBox, szDefault )
  1092. {
  1093.     <% jsTRY %>
  1094.         var x;
  1095.         var dwVal;
  1096.         var dwCheckID, dwTextID;
  1097.         var theElement;
  1098.         var resolvedCheckBox;
  1099.  
  1100.         if( ! theTextBox )
  1101.         {
  1102.             return( false );
  1103.         }
  1104.         
  1105.         dwCheckID = GetFormElementID( theCheckBox );
  1106.         dwTextID = GetFormElementID( theTextBox );
  1107.         
  1108.         resolvedCheckBox = document.mainForm.elements[ dwCheckID ];
  1109.  
  1110.         if( resolvedCheckBox.checked )
  1111.         {
  1112.             theElement = document.mainForm.elements[ dwTextID ];
  1113.  
  1114.             theElement.disabled = false;
  1115.             theElement.value = szDefault;
  1116.             theElement.focus();
  1117.         }
  1118.         else
  1119.         {
  1120.             theElement = document.mainForm.elements[ dwTextID ];
  1121.  
  1122.             theElement.disabled = true;
  1123.             theElement.value = szDefault;
  1124.         }
  1125.         
  1126.         EnableButtons( false );
  1127.     <% jsCATCH %>
  1128. }
  1129.  
  1130. //////////////////////////////////////////////////////////////////////////
  1131. function ToggleCheckbox( theCheckBox, theTextBox )
  1132. {
  1133.     <% jsTRY %>
  1134.         var x;
  1135.         var dwVal;
  1136.         var dwCheckID, dwTextID;
  1137.         var theElement;
  1138.         var resolvedCheckBox;
  1139.  
  1140.         if( ! theTextBox )
  1141.         {
  1142.             return( false );
  1143.         }
  1144.         
  1145.         dwCheckID = GetFormElementID( theCheckBox );
  1146.         dwTextID = GetFormElementID( theTextBox );
  1147.         
  1148.         resolvedCheckBox = document.mainForm.elements[ dwCheckID ];
  1149.  
  1150.         if( resolvedCheckBox.checked )
  1151.         {
  1152.             theElement = document.mainForm.elements[ dwTextID ];
  1153.  
  1154.             theElement.disabled = false;
  1155.             theElement.value = "";
  1156.             theElement.focus();
  1157.         }
  1158.         else
  1159.         {
  1160.             theElement = document.mainForm.elements[ dwTextID ];
  1161.  
  1162.             theElement.disabled = true;
  1163.             theElement.value = "<%= L_UNLIMITED_TEXT %>";
  1164.         }
  1165.         
  1166.         EnableButtons( false );
  1167.     <% jsCATCH %>
  1168. }
  1169.  
  1170. //////////////////////////////////////////////////////////////////////////
  1171. function GetPropertyDescription( dwWhichProperty )
  1172. {
  1173.     <% jsTRY %>
  1174.         var win = null;
  1175.         var bReplace = true;
  1176.         var szWinName;
  1177.         
  1178.         szWinName = "PropertyDescription";
  1179.         
  1180.         szUrl = "../plugins/plugin_description.asp?server=<%= g_strQueryStringServer %>&limit=" + dwWhichProperty;
  1181.         
  1182.         if( ( <%= PPLIMDESCOFFSET %> <= dwWhichProperty ) && ( ( dwWhichProperty < ( <%= PPLIMDESCOFFSET %> + 17 ) ) || ( ( dwWhichProperty >= 30 ) && ( dwWhichProperty <= 35 ) ) ) )
  1183.         {
  1184.         <% if( brMSIE <> g_dwBrowserType ) then %>
  1185.             var szFeatures = "resizable,scrollbars=yes,height=<%= DESCRIPTIONDLGHEIGHT %>,width=350px<%'= DESCRIPTIONDLGWIDTH %>,outerHeight=<%= DESCRIPTIONDLGHEIGHT %>,innerHeight=<%= DESCRIPTIONDLGHEIGHT %>,outerWidth=<%= DESCRIPTIONDLGWIDTH %>,innerWidth=<%= DESCRIPTIONDLGWIDTH %>";
  1186.             win = window.open( szUrl, szWinName, szFeatures, true );
  1187.             if( ! win )
  1188.             {
  1189.                 win = window.open( szUrl, szWinName, szFeatures, true );
  1190.             }
  1191.             else
  1192.             {
  1193.                 win.focus();
  1194.             }
  1195.         <% else %>
  1196.             var szFeatures = "resizable:yes;status:no;help:no;scroll:yes;dialogHeight:<%= DESCRIPTIONDLGHEIGHT %>;dialogWidth:<%= DESCRIPTIONDLGWIDTH %>;edge:raised;center:yes";
  1197.             showModalDialog( szUrl, null, szFeatures )
  1198.         <% end if %>
  1199.         }
  1200.     <% jsCATCH %>
  1201. }
  1202.  
  1203. //////////////////////////////////////////////////////////////////////////
  1204. function GetLimitDescription( dwWhichLimit )
  1205. {
  1206.     <% jsTRY %>
  1207.         var win = null;
  1208.         var bReplace = true;
  1209.         var szWinName;
  1210.         
  1211.         szWinName = "PluginDescription";
  1212.         
  1213.         szUrl = "../plugins/plugin_description.asp?server=<%= g_strQueryStringServer %>&limit=" + dwWhichLimit;
  1214.         
  1215.         if( ( <%= PPLIMDESCOFFSET %> <= dwWhichLimit ) && ( ( dwWhichLimit < ( <%= PPLIMDESCOFFSET %> + 17 ) ) || ( ( dwWhichLimit >= 30 ) && ( dwWhichLimit <= 35 ) ) ) )
  1216.         {
  1217.         <% if( brMSIE <> g_dwBrowserType ) then %>
  1218.             var szFeatures = "resizable,scrollbars=yes,height=<%= DESCRIPTIONDLGHEIGHT %>,width=350px<%'= DESCRIPTIONDLGWIDTH %>,outerHeight=<%= DESCRIPTIONDLGHEIGHT %>,innerHeight=<%= DESCRIPTIONDLGHEIGHT %>,outerWidth=<%= DESCRIPTIONDLGWIDTH %>,innerWidth=<%= DESCRIPTIONDLGWIDTH %>";
  1219.             win = window.open( szUrl, szWinName, szFeatures, true );
  1220.             if( ! win )
  1221.             {
  1222.                 win = window.open( szUrl, szWinName, szFeatures, true );
  1223.             }
  1224.             else
  1225.             {
  1226.                 win.focus();
  1227.             }
  1228.         <% else %>
  1229.             var szFeatures = "resizable:yes;status:no;help:no;scroll:yes;dialogHeight:<%= DESCRIPTIONDLGHEIGHT %>;dialogWidth:<%= DESCRIPTIONDLGWIDTH %>;edge:raised;center:yes";
  1230.             showModalDialog( szUrl, null, szFeatures )
  1231.         <% end if %>
  1232.         }
  1233.     <% jsCATCH %>
  1234. }
  1235.  
  1236. <% elseif ( SHOWING_CREDENTIALS = dwDisplayMode ) then %>
  1237. //////////////////////////////////////////////////////////////////////////
  1238. function GetCredentialsDescription( dwWhichLimit )
  1239. {
  1240.     <% jsTRY %>
  1241.         var win = null;
  1242.         var bReplace = true;
  1243.         var szWinName;
  1244.         
  1245.         szWinName = "PluginDescription";
  1246.         
  1247.         szUrl = "../plugins/plugin_description.asp?server=<%= g_strQueryStringServer %>&credentials=" + dwWhichLimit;
  1248.         
  1249.         if( ( 0 <= dwWhichLimit ) && ( dwWhichLimit < 6 ) )
  1250.         {
  1251.         <% if( brMSIE <> g_dwBrowserType ) then %>
  1252.             var szFeatures = "resizable,scrollbars=yes,height=<%= DESCRIPTIONDLGHEIGHT %>,width=350px<%'= DESCRIPTIONDLGWIDTH %>,outerHeight=<%= DESCRIPTIONDLGHEIGHT %>,innerHeight=<%= DESCRIPTIONDLGHEIGHT %>,outerWidth=<%= DESCRIPTIONDLGWIDTH %>,innerWidth=<%= DESCRIPTIONDLGWIDTH %>";
  1253.             win = window.open( szUrl, szWinName, szFeatures, true );
  1254.             if( ! win )
  1255.             {
  1256.                 win = window.open( szUrl, szWinName, szFeatures, true );
  1257.             }
  1258.             else
  1259.             {
  1260.                 win.focus();
  1261.             }
  1262.         <% else %>
  1263.             var szFeatures = "resizable:yes;status:no;help:no;scroll:yes;dialogHeight:<%= DESCRIPTIONDLGHEIGHT %>;dialogWidth:<%= DESCRIPTIONDLGWIDTH %>;edge:raised;center:yes";
  1264.             showModalDialog( szUrl, null, szFeatures )
  1265.         <% end if %>
  1266.         }
  1267.     <% jsCATCH %>
  1268. }
  1269.  
  1270. <% elseif ( SHOWING_CACHEPROXYMGMT = dwDisplayMode ) then %>
  1271. //////////////////////////////////////////////////////////////////////////
  1272. function GetCacheProxyDescription( dwWhichProp )
  1273. {
  1274.     <% jsTRY %>
  1275.         var win = null;
  1276.         var bReplace = true;
  1277.         var szWinName;
  1278.         
  1279.         szWinName = "PluginDescription";
  1280.         
  1281.         szUrl = "../plugins/plugin_description.asp?server=<%= g_strQueryStringServer %>&cacheproxyexp<% if FALSE = bBroadcastPubPoint then %>OD<% end if %>=" + dwWhichProp;
  1282.         
  1283.         if( ( 0 <= dwWhichProp ) && ( dwWhichProp < 6 ) )
  1284.         {
  1285.         <% if( brMSIE <> g_dwBrowserType ) then %>
  1286.             var szFeatures = "resizable,scrollbars=yes,height=<%= DESCRIPTIONDLGHEIGHT %>,width=350px<%'= DESCRIPTIONDLGWIDTH %>,outerHeight=<%= DESCRIPTIONDLGHEIGHT %>,innerHeight=<%= DESCRIPTIONDLGHEIGHT %>,outerWidth=<%= DESCRIPTIONDLGWIDTH %>,innerWidth=<%= DESCRIPTIONDLGWIDTH %>";
  1287.             win = window.open( szUrl, szWinName, szFeatures, true );
  1288.             if( ! win )
  1289.             {
  1290.                 win = window.open( szUrl, szWinName, szFeatures, true );
  1291.             }
  1292.             else
  1293.             {
  1294.                 win.focus();
  1295.             }
  1296.         <% else %>
  1297.             var szFeatures = "resizable:yes;status:no;help:no;scroll:yes;dialogHeight:<%= DESCRIPTIONDLGHEIGHT %>;dialogWidth:<%= DESCRIPTIONDLGWIDTH %>;edge:raised;center:yes";
  1298.             showModalDialog( szUrl, null, szFeatures )
  1299.         <% end if %>
  1300.         }
  1301.     <% jsCATCH %>
  1302. }
  1303.  
  1304. <% elseif ( SHOWING_NETWORKING = dwDisplayMode ) then %>
  1305. //////////////////////////////////////////////////////////////////////////
  1306. function GetNetworkingDescription( dwWhichProp )
  1307. {
  1308.     <% jsTRY %>
  1309.         var win = null;
  1310.         var bReplace = true;
  1311.         var szWinName;
  1312.         
  1313.         szWinName = "PluginDescription";
  1314.         
  1315.         szUrl = "../plugins/plugin_description.asp?server=<%= g_strQueryStringServer %>&networking=" + dwWhichProp;
  1316.         
  1317.         if( ( 0 <= dwWhichProp ) && ( dwWhichProp < 6 ) )
  1318.         {
  1319.         <% if( brMSIE <> g_dwBrowserType ) then %>
  1320.             var szFeatures = "resizable,scrollbars=yes,height=<%= DESCRIPTIONDLGHEIGHT %>,width=350px<%'= DESCRIPTIONDLGWIDTH %>,outerHeight=<%= DESCRIPTIONDLGHEIGHT %>,innerHeight=<%= DESCRIPTIONDLGHEIGHT %>,outerWidth=<%= DESCRIPTIONDLGWIDTH %>,innerWidth=<%= DESCRIPTIONDLGWIDTH %>";
  1321.             win = window.open( szUrl, szWinName, szFeatures, true );
  1322.             if( ! win )
  1323.             {
  1324.                 win = window.open( szUrl, szWinName, szFeatures, true );
  1325.             }
  1326.             else
  1327.             {
  1328.                 win.focus();
  1329.             }
  1330.         <% else %>
  1331.             var szFeatures = "resizable:yes;status:no;help:no;scroll:yes;dialogHeight:<%= DESCRIPTIONDLGHEIGHT %>;dialogWidth:<%= DESCRIPTIONDLGWIDTH %>;edge:raised;center:yes";
  1332.             showModalDialog( szUrl, null, szFeatures )
  1333.         <% end if %>
  1334.         }
  1335.     <% jsCATCH %>
  1336. }
  1337.  
  1338. <% elseif ( SHOWING_CREDENTIALS = dwDisplayMode ) then %>
  1339. //////////////////////////////////////////////////////////////////////////
  1340. function GetCredentialsDescription( dwWhichLimit )
  1341. {
  1342.     <% jsTRY %>
  1343.         var win = null;
  1344.         var bReplace = true;
  1345.         var szWinName;
  1346.         
  1347.         szWinName = "PluginDescription";
  1348.         
  1349.         szUrl = "../plugins/plugin_description.asp?server=<%= g_strQueryStringServer %>&cat=<%= CAT_CRED %>";
  1350.         
  1351.         if( ( 0 <= dwWhichLimit ) && ( dwWhichLimit < 6 ) )
  1352.         {
  1353.         <% if( brMSIE <> g_dwBrowserType ) then %>
  1354.             var szFeatures = "resizable,scrollbars=yes,height=<%= DESCRIPTIONDLGHEIGHT %>,width=350px<%'= DESCRIPTIONDLGWIDTH %>,outerHeight=<%= DESCRIPTIONDLGHEIGHT %>,innerHeight=<%= DESCRIPTIONDLGHEIGHT %>,outerWidth=<%= DESCRIPTIONDLGWIDTH %>,innerWidth=<%= DESCRIPTIONDLGWIDTH %>";
  1355.             win = window.open( szUrl, szWinName, szFeatures, true );
  1356.             if( ! win )
  1357.             {
  1358.                 win = window.open( szUrl, szWinName, szFeatures, true );
  1359.             }
  1360.             else
  1361.             {
  1362.                 win.focus();
  1363.             }
  1364.         <% else %>
  1365.             var szFeatures = "resizable:yes;status:no;help:no;scroll:yes;dialogHeight:<%= DESCRIPTIONDLGHEIGHT %>;dialogWidth:<%= DESCRIPTIONDLGWIDTH %>;edge:raised;center:yes";
  1366.             showModalDialog( szUrl, null, szFeatures )
  1367.         <% end if %>
  1368.         }
  1369.     <% jsCATCH %>
  1370. }
  1371.  
  1372. <% elseif ( SHOWING_WIRELESS = dwDisplayMode ) then %>
  1373. //////////////////////////////////////////////////////////////////////////
  1374. function GetWirelessDescription( dwWhichLimit )
  1375. {
  1376.     <% jsTRY %>
  1377.         var win = null;
  1378.         var bReplace = true;
  1379.         var szWinName;
  1380.         
  1381.         szWinName = "PluginDescription";
  1382.         
  1383.         szUrl = "../plugins/plugin_description.asp?server=<%= g_strQueryStringServer %>&wireless=" + String( dwWhichLimit );
  1384.         
  1385.         if( 0 == dwWhichLimit )
  1386.         {
  1387.         <% if( brMSIE <> g_dwBrowserType ) then %>
  1388.             var szFeatures = "resizable,scrollbars=yes,height=<%= DESCRIPTIONDLGHEIGHT %>,width=350px<%'= DESCRIPTIONDLGWIDTH %>,outerHeight=<%= DESCRIPTIONDLGHEIGHT %>,innerHeight=<%= DESCRIPTIONDLGHEIGHT %>,outerWidth=<%= DESCRIPTIONDLGWIDTH %>,innerWidth=<%= DESCRIPTIONDLGWIDTH %>";
  1389.             win = window.open( szUrl, szWinName, szFeatures, true );
  1390.             if( ! win )
  1391.             {
  1392.                 win = window.open( szUrl, szWinName, szFeatures, true );
  1393.             }
  1394.             else
  1395.             {
  1396.                 win.focus();
  1397.             }
  1398.         <% else %>
  1399.             var szFeatures = "resizable:yes;status:no;help:no;scroll:yes;dialogHeight:<%= DESCRIPTIONDLGHEIGHT %>;dialogWidth:<%= DESCRIPTIONDLGWIDTH %>;edge:raised;center:yes";
  1400.             showModalDialog( szUrl, null, szFeatures )
  1401.         <% end if %>
  1402.         }
  1403.     <% jsCATCH %>
  1404. }
  1405.  
  1406. <% elseif ( SHOWING_PLUGINS = dwDisplayMode ) then %>
  1407.  
  1408. //////////////////////////////////////////////////////////////////////////
  1409. function GetPluginDescription( szInstance )
  1410. {
  1411.     <% jsTRY %>
  1412.         var szInstance;
  1413.         var win = null;
  1414.         var bReplace = true;
  1415.         var szWinName;
  1416.         
  1417.         szWinName = "PluginDescription";
  1418.         
  1419.         szUrl = "../plugins/plugin_description.asp?server=<%= g_strQueryStringServer %>&ppID=<%= g_strPubPointID %>&category=" + "<%= strCategory %>&pluginIndex="  + szInstance;
  1420.         
  1421.         if( ( null != szInstance ) && ( 0 < szInstance.length ) )
  1422.         {
  1423.         <% if( brMSIE <> g_dwBrowserType ) then %>
  1424.             var szFeatures = "resizable,scrollbars=yes,height=<%= DESCRIPTIONDLGHEIGHT %>,width=350px<%'= DESCRIPTIONDLGWIDTH %>,outerHeight=<%= DESCRIPTIONDLGHEIGHT %>,innerHeight=<%= DESCRIPTIONDLGHEIGHT %>,outerWidth=<%= DESCRIPTIONDLGWIDTH %>,innerWidth=<%= DESCRIPTIONDLGWIDTH %>";
  1425.             win = window.open( szUrl, szWinName, szFeatures, true );
  1426.             if( ! win )
  1427.             {
  1428.                 win = window.open( szUrl, szWinName, szFeatures, true );
  1429.             }
  1430.         <% else %>
  1431.             var szFeatures = "resizable:yes;status:no;help:no;scroll:yes;dialogHeight:<%= DESCRIPTIONDLGHEIGHT %>;dialogWidth:<%= DESCRIPTIONDLGWIDTH %>;edge:raised;center:yes";
  1432.             showModalDialog( szUrl, null, szFeatures )
  1433.         <% end if %>
  1434.         }
  1435.     <% jsCATCH %>
  1436. }
  1437. <% end if %>
  1438.  
  1439. //////////////////////////////////////////////////////////////////////////
  1440. function HilightCurrentCat( theEvent )
  1441. {
  1442.     <% jsTRY %>
  1443. <% if( brMSIE = g_dwBrowserType ) then %>
  1444.         if( 0 == theEvent.keyCode )
  1445. <% else %>
  1446.         if( 0 == theEvent.which )            
  1447. <% end if %>
  1448.         {
  1449.             return;
  1450.         }
  1451.         
  1452.         var i = <%= iFormSelect %>;
  1453.         document.mainForm.type[ i ].style.backgroundColor = "#6699ff";
  1454.         if( document.mainForm.type.selectedIndex != <%= iFormSelect %> )
  1455.         {
  1456.             document.mainForm.type.style.backgroundColor = "#F5F5F5";
  1457.         }
  1458.         else
  1459.         {
  1460.             document.mainForm.type.style.backgroundColor = "white";
  1461.         }
  1462.     <% jsCATCH %>
  1463. }
  1464.  
  1465. //////////////////////////////////////////////////////////////////////////
  1466. function PluginTypeSelected( <% if( brMSIE <> g_dwBrowserType ) then %>event, <% end if %>bClick )
  1467. {
  1468.     <% jsTRY %>
  1469.         if( false == bClick )
  1470.         {
  1471.             // user entered a key
  1472. <% if( brMSIE = g_dwBrowserType ) then %>
  1473.             if( event.keyCode != 13 )
  1474. <% else %>
  1475.             if( event.which != 13 )            
  1476. <% end if %>
  1477.             {
  1478.                 HilightCurrentCat( event );
  1479.                 return;
  1480.             }
  1481.         }
  1482.         var i = document.mainForm.type.selectedIndex;
  1483.         var szNewLocation = "";
  1484.         <% 
  1485.         Dim strNewQueryString
  1486.         strNewQueryString = "pubpoint_props.asp?server=" & g_strQueryStringServer & "&ppID=" & g_strPubPointID & "&category="
  1487.         %>
  1488.  
  1489.         switch( i )
  1490.         {
  1491.             case <%= iGeneral %>: //(GENERAL)
  1492.                 szNewLocation = "<%= strNewQueryString %><%= CAT_GEN %>";
  1493.                 break;
  1494.             case <%= iAuthorizers %>:
  1495.                 szNewLocation = "<%= strNewQueryString %><%= CAT_AUTHORIZE %>";
  1496.                 break;
  1497.             case <%= iLogging %>:
  1498.                 szNewLocation = "<%= strNewQueryString %><%= CAT_LOGGING %>";
  1499.                 break;
  1500.             case <%= iEvent %>:
  1501.                 szNewLocation = "<%= strNewQueryString %><%= CAT_EVENT %>";
  1502.                 break;
  1503.             case <%= iAuthen %>:
  1504.                 szNewLocation = "<%= strNewQueryString %><%= CAT_AUTHEN %>";
  1505.                 break;
  1506.             case <%= iLimits %>: //(LIMITS)
  1507.                 szNewLocation = "<%= strNewQueryString %><%= CAT_LIM %>";
  1508.                 break;
  1509.     <% if( blnRunningOnWhistlerAdvServer ) then %>
  1510.             case <%= iWireless %>: //(WIRELESS)
  1511.                 szNewLocation = "<%= strNewQueryString %><%= CAT_WIRELESS %>";
  1512.                 break;
  1513.     <% end if %>
  1514.     <% if FALSE = bCacheProxyPubPoint then %>
  1515.             case <%= iPlXform %>:
  1516.                 szNewLocation = "<%= strNewQueryString %><%= CAT_PLAYXFORM %>";
  1517.                 break;
  1518.             case <%= iCPMgmt %>:
  1519.                 szNewLocation = "<%= strNewQueryString %><%= CAT_CACHEPROXYMGMT %>";
  1520.                 break;
  1521.     <% end if %>
  1522.     <% if ( FALSE = bCacheProxyPubPoint ) and ( TRUE = bBroadcastPubPoint ) then %>
  1523.             case <%= iArchivers %>:
  1524.                 szNewLocation = "<%= strNewQueryString %><%= CAT_ARCH %>";
  1525.                 break;
  1526.         <% if( ( FALSE = bCacheProxyPubPoint ) and blnRunningOnWhistlerAdvServer ) then %>
  1527.             case <%= iMCast %>:
  1528.                 szNewLocation = "<%= strNewQueryString %><%= CAT_MCAST %>";
  1529.                 break;
  1530.         <% end if %>
  1531.     <% end if %>
  1532.     <% if ( FALSE = bCacheProxyPubPoint ) then %>
  1533.             case <%= iCredentials %>:
  1534.                 szNewLocation = "<%= strNewQueryString %><%= CAT_CRED %>";
  1535.                 break;
  1536.     <% end if %>
  1537.             case <%= iNetworking %>:
  1538.                 szNewLocation = "<%= strNewQueryString %><%= CAT_NET %>";
  1539.                 break;
  1540.             default:
  1541.                 window.alert( "<%= RemoveDangerousCharacters( L_ILLEGALSELECTION_TEXT ) %>" );
  1542.                 document.location = document.location;
  1543.                 break;
  1544.         }
  1545.         document.location.replace( szNewLocation );
  1546.     <% jsCATCH %>
  1547. }
  1548.  
  1549. //////////////////////////////////////////////////////////////////////////
  1550. function SetFocusToCategory( dwNumTimesEntered )
  1551. {
  1552. <% if ( SHOWING_PLUGINS = dwDisplayMode ) then %>
  1553. //    return;
  1554. <% end if %>
  1555.     <% jsTRY %>
  1556.     <% if( ( SHOWING_PLUGINS = dwDisplayMode ) or ( SHOWING_CREDENTIALS = dwDisplayMode ) or ( SHOWING_CACHEPROXYMGMT = dwDisplayMode ) or ( SHOWING_NETWORKING = dwDisplayMode ) ) then %>
  1557.         if( ( null == GetCheckedItem() ) && ( document.mainForm.length ) )
  1558.         {
  1559.             var objPlugin;
  1560.     <% if SHOWING_PLUGINS = dwDisplayMode then %>
  1561.             document.mainForm.type.focus();
  1562.             return;
  1563.     <% elseif SHOWING_CREDENTIALS = dwDisplayMode then %>
  1564.             objPlugin = document.mainForm.credentials[ 0 ];
  1565.     <% elseif SHOWING_CACHEPROXYMGMT = dwDisplayMode then %>
  1566.             objPlugin = document.mainForm.cacheproxymgmt[ 0 ];
  1567.     <% elseif SHOWING_NETWORKING = dwDisplayMode then %>
  1568.             objPlugin = document.mainForm.networking[ 0 ];
  1569.     <% end if %>
  1570.             if( objPlugin )
  1571.             {
  1572.                 objPlugin.checked = true;
  1573.             }
  1574.         }
  1575.     <% end if %>
  1576.         
  1577.         if( g_bAlreadySetFocus )
  1578.         {
  1579.             return;
  1580.         }
  1581.         
  1582.     <% if( brMSIE = g_dwBrowserType ) then %>
  1583.         if( document.activeElement.tagName != "SELECT" )
  1584.         {
  1585.             document.mainForm.type.focus();
  1586.             if( dwNumTimesEntered < 3 )
  1587.             {
  1588.                 dwNumTimesEntered = dwNumTimesEntered + 1
  1589.                 setTimeout( "SetFocusToCategory( " + dwNumTimesEntered + " )", 500, "JavaScript" );
  1590.             }
  1591.             return;
  1592.         }
  1593.     <% end if %>
  1594.         document.mainForm.type.focus();
  1595.  
  1596.     <% if SHOWING_LIMITS = dwDisplayMode then %>
  1597.         InitLimits();
  1598.     <% end if %>
  1599.  
  1600.     <% if ( "" <> qs("AutoStartPPCheckbox") ) then %>
  1601.         if( ( document.forms.mainForm.AutoStartPPCheckbox ) && ( ! document.forms.mainForm.AutoStartPPCheckbox.disabled ) )
  1602.         {
  1603.             document.forms.mainForm.AutoStartPPCheckbox.disabled = false;
  1604.             document.forms.mainForm.AutoStartPPCheckbox.focus();
  1605.         }
  1606.     <% end if %>
  1607.         g_bAlreadySetFocus = true;
  1608.     <% jsCATCH %>
  1609. }
  1610.  
  1611. //////////////////////////////////////////////////////////////////////////
  1612. function HilightType()
  1613. {
  1614.     <% jsTRY %>
  1615.     <%if -1 <> iFormSelect then %>
  1616.     document.mainForm.type.options[ <%=iFormSelect%> ].selected = 1
  1617.     <%end if %>
  1618.     <% jsCATCH %>
  1619. }
  1620.  
  1621. //////////////////////////////////////////////////////////////////////////
  1622. function WarnNoProps()
  1623. {
  1624.     <% jsTRY %>
  1625.     window.alert( "<%= RemoveDangerousCharacters( L_NOPROPERTYPAGE_TEXT ) %>" );
  1626.     <% jsCATCH %>
  1627. }
  1628.  
  1629. <% if SHOWING_PLUGINS = dwDisplayMode then %>
  1630. //////////////////////////////////////////////////////////////////////////
  1631. function HandlePluginClick( dwSpecifiedPluginIndex )
  1632. {
  1633.     <% jsTRY %>
  1634.     if( ( null != dwSpecifiedPluginIndex ) && ( 0 < dwSpecifiedPluginIndex.length ) )
  1635.     {
  1636.         document.location.replace( "../plugins/plugin_action.asp?server=<%= g_strQueryStringServer %>" + "&op=properties&category=" + "<%= strCategory %>" + "&pluginIndex=" + dwSpecifiedPluginIndex + "&ppID=<%= g_strPubPointID %>" + g_szPropertiesArgs );
  1637.     }
  1638.     else
  1639.     {
  1640.         window.alert( " <%= RemoveDangerousCharacters( L_PLEASESELECTAPLUGIN_TEXT ) %>" );
  1641.     }
  1642.     <% jsCATCH %>
  1643. }
  1644. <% end if %>
  1645.  
  1646. //////////////////////////////////////////////////////////////////////////
  1647. function Properties()
  1648. {
  1649.     <% jsTRY %>
  1650. <% if SHOWING_PLUGINS = dwDisplayMode then %>
  1651.     <% if( brMSIE = g_dwBrowserType ) then %>
  1652.     if( ! g_bCurSelSupportsProperties )
  1653.     {
  1654.         return;
  1655.     }
  1656.     <% end if %>
  1657.     var theItem;
  1658.     theItem = document.getElementById( g_szCurPluginElementName );
  1659.     if( theItem )
  1660.     {   <% if( brMSIE <> g_dwBrowserType ) then %>
  1661.         var szPropKey = new String( theItem.getAttribute( "proppage" ) );
  1662.         if( 0 == szPropKey.length )
  1663.         {
  1664.             WarnNoProps();
  1665.         }
  1666.         else
  1667.         {
  1668.             theItem.onclick();
  1669.         }
  1670.         <% else %>
  1671.         document.getElementById( g_szCurPluginElementName ).click();
  1672.         <% end if %>
  1673.     }
  1674.     return;
  1675. <% else %>
  1676.     var szInstance;    
  1677.     szInstance = new String( GetCheckedItem() );
  1678.     if( ( null != szInstance ) && ( 0 < szInstance.length ) )
  1679.     {
  1680. <% if SHOWING_CREDENTIALS = dwDisplayMode then %>
  1681.         document.location = "networking.asp?server=<%= g_strQueryStringServer %>" + "&op=properties&category=" + "<%= strCategory %>" + "&instance=" + szInstance + "&ppID=<%= g_strPubPointID %>";
  1682. <% elseif SHOWING_NETWORKING = dwDisplayMode then %>
  1683.         document.location = "networking.asp?server=<%= g_strQueryStringServer %>" + "&op=properties&category=" + "<%= strCategory %>" + "&instance=" + szInstance + "&ppID=<%= g_strPubPointID %>";
  1684. <% elseif SHOWING_CACHEPROXYMGMT = dwDisplayMode then %>
  1685.         document.location = "cacheexpiration.asp?server=<%= g_strQueryStringServer %>" + "&op=properties&category=" + "<%= strCategory %>" + "&instance=" + szInstance + "&ppID=<%= g_strPubPointID %>";
  1686. <% else' if SHOWING_WIRELESS = dwDisplayMode then %>
  1687.         document.location = "wireless.asp?server=<%= g_strQueryStringServer %>" + "&op=properties&category=" + "<%= strCategory %>" + "&ppID=<%= g_strPubPointID %>";
  1688. <% end if %>
  1689.     }
  1690.     else
  1691.     {
  1692. <% if SHOWING_WIRELESS = dwDisplayMode then %>
  1693.         document.location = "wireless.asp?server=<%= g_strQueryStringServer %>" + "&op=properties&category=" + "<%= strCategory %>" + "&instance=" + SafeEscape( "<%= L_FECNAME_TEXT %>" ) + "&ppID=<%= g_strPubPointID %>";
  1694. <% else %>
  1695.         window.alert( " <%= RemoveDangerousCharacters( L_PLEASESELECTAPLUGIN_TEXT ) %>" );
  1696. <% end if %>
  1697.     }
  1698. <% end if %>
  1699.     <% jsCATCH %>
  1700.  
  1701. //////////////////////////////////////////////////////////////////////////
  1702. function Refresh()
  1703. {
  1704.     <% jsTRY %>
  1705. <% if SHOWING_PLUGINS = dwDisplayMode then %>
  1706.     if( ( null != g_szCurPluginElementName ) && ( 0 < g_szCurPluginElementName.length ) )
  1707.     {
  1708.         document.location.replace( "../plugins/plugin_action.asp?server=<%= g_strQueryStringServer %>&op=refresh&category=<%=strCategory%>&pluginIndex=" + g_szCurPluginElementName + "&ppID=<%= g_strPubPointID %>" );
  1709.     }
  1710. <% else %>
  1711.     var szInstance;
  1712.     szInstance = new String( GetCheckedItem() );
  1713.     if( ( null != szInstance ) && ( 0 < szInstance.length ) )
  1714.     {
  1715.         document.location.replace( "../plugins/plugin_action.asp?server=<%= g_strQueryStringServer %>&op=refresh&category=<%=strCategory%>&instance=" + szInstance + "&ppID=<%= g_strPubPointID %>" );
  1716.     }
  1717. <% end if %>
  1718.     else
  1719.     {
  1720.         document.location = document.location;
  1721.     }
  1722.     <% jsCATCH %>
  1723.  
  1724. //////////////////////////////////////////////////////////////////////////
  1725. function ClickRadio( dwItem )
  1726. {
  1727.     <% jsTRY %>
  1728.     var e;
  1729.     
  1730.     if( dwItem < 0 )
  1731.     {
  1732.         return;
  1733.     }
  1734.  
  1735.     //if length is defined, iterate over the elements
  1736.     if( document.forms.mainForm.length )
  1737.     {
  1738.     <% if SHOWING_PLUGINS = dwDisplayMode then %>
  1739.         e = document.forms.mainForm.plugins[ dwItem ];
  1740.     <% elseif SHOWING_CREDENTIALS = dwDisplayMode then %>
  1741.         e = document.forms.mainForm.credentials[ dwItem ];
  1742.     <% elseif SHOWING_NETWORKING = dwDisplayMode then %>
  1743.         e = document.forms.mainForm.networking[ dwItem ];
  1744.     <% elseif SHOWING_CACHEPROXYMGMT = dwDisplayMode then %>
  1745.         e = document.forms.mainForm.cacheproxymgmt[ dwItem ];
  1746.     <% elseif SHOWING_WIRELESS = dwDisplayMode then %>
  1747.         e = document.forms.mainForm.wireless[ dwItem ];
  1748.     <% end if %>
  1749.         if( e )
  1750.         {
  1751.             e.checked = true;
  1752.         }
  1753.         return;
  1754.     }
  1755.     <% jsCATCH %>
  1756. }
  1757.  
  1758. //////////////////////////////////////////////////////////////////////////
  1759. function GetCheckedItem()
  1760. {
  1761.     <% jsTRY %>
  1762.     var i;
  1763.     var e;
  1764.     
  1765.     //if length is defined, iterate over the elements
  1766.     if(document.forms.mainForm.length)
  1767.     {
  1768. <% if SHOWING_PLUGINS = dwDisplayMode then %>
  1769.         return( g_szCurPluginElementName );
  1770. <% else %>
  1771. <% if SHOWING_CREDENTIALS = dwDisplayMode then %>
  1772.         for(i = 0; i < document.forms.mainForm.credentials.length; i++)
  1773. <% elseif SHOWING_NETWORKING = dwDisplayMode then %>
  1774.         for(i = 0; i < document.forms.mainForm.networking.length; i++)
  1775. <% elseif SHOWING_CACHEPROXYMGMT = dwDisplayMode then %>
  1776.         for(i =0; i < document.forms.mainForm.cacheproxymgmt.length; i++)
  1777. <% else' if SHOWING_WIRELESS = dwDisplayMode then %>
  1778.         for(i = 0; i < document.forms.mainForm.wireless.length; i++)
  1779. <% end if %>
  1780.         {
  1781. <% if SHOWING_CREDENTIALS = dwDisplayMode then %>
  1782.             e = document.mainForm.credentials[i];
  1783. <% elseif SHOWING_NETWORKING = dwDisplayMode then %>
  1784.             e = document.mainForm.networking[i];
  1785. <% elseif SHOWING_CACHEPROXYMGMT = dwDisplayMode then %>
  1786.             e = document.mainForm.cacheproxymgmt[i];
  1787. <% elseif SHOWING_WIRELESS = dwDisplayMode then %>
  1788.             e = document.forms.mainForm.wireless[i];
  1789. <% end if %>
  1790.             if( e )
  1791.             {
  1792.                 if (e.checked) 
  1793.                 {<% if brMSIE = g_dwBrowserType then %>
  1794.                     return( SafeEscape( e.value ) );
  1795.                  <% else %>
  1796.                     return( e.value );
  1797.                  <% end if %>
  1798.                 }   
  1799.             }
  1800.         }
  1801.     //length isn't defined, so there's only the dummy element
  1802. <% end if %>
  1803.     }
  1804.     return null;
  1805.     <% jsCATCH %>
  1806. }
  1807.  
  1808. <% if SHOWING_PLUGINS = dwDisplayMode then %>
  1809. //////////////////////////////////////////////////////////////////////////
  1810. function Rename()
  1811. {
  1812.     <% jsTRY %>
  1813.     var szNewName;
  1814.     szNewName = "";
  1815.     
  1816.     var szInstance;
  1817.     szInstance = new String( GetCheckedItem() );
  1818.     if( ( null != szInstance ) && ( 0 < szInstance.length ) )
  1819.     {
  1820.         document.location = "../plugins/plugin_dialog.asp?server=<%= g_strQueryStringServer %>&ppID=<%= g_strPubPointID %>&op=rename&category=<%= strCategory %>&pluginIndex=" + g_szCurPluginElementName + "&instance=" + szInstance;
  1821.         return;
  1822.     }
  1823.     else
  1824.     {
  1825.         window.alert( " <%= RemoveDangerousCharacters( L_PLEASESELECTAPLUGIN_TEXT ) %>" );
  1826.     }
  1827.     <% jsCATCH %>
  1828. }
  1829. <% end if %>
  1830.  
  1831. //////////////////////////////////////////////////////////////////////////
  1832. function HandlePendingOp()
  1833. {
  1834.     <% jsTRY %>
  1835.     if( "<%= EscBackslashChar( qs("pendingOp") ) %>" == "enable" )
  1836.     {
  1837.         g_bShowActiveScriptWarning = false;
  1838.         Enable();
  1839.     }
  1840.     <% jsCATCH %>
  1841. }
  1842.  
  1843.  
  1844. <% if SHOWING_PLUGINS = dwDisplayMode then %>
  1845. //////////////////////////////////////////////////////////////////////////
  1846. function Enable()
  1847. {
  1848.     <% jsTRY %>
  1849.     if( g_bCurSelSupportsEnableDisable && g_bEnabled && ! g_bInError )
  1850.     {
  1851.         return;
  1852.     }
  1853.  
  1854.     var szPluginIndex = -1;
  1855.     var bRedirectToProperties = false;
  1856.  
  1857.     if( g_bShowActiveScriptWarning )
  1858.     {
  1859.         bRedirectToProperties = window.confirm( "<%= RemoveDangerousCharacters( L_NOASCRIPTFILENAME_TEXT ) %>" );
  1860.     }
  1861.     if( bRedirectToProperties )
  1862.     {
  1863.         g_szPropertiesArgs = "&pendingOp=enable";
  1864.         Properties();
  1865.     }
  1866.     else
  1867.     {
  1868.         document.location = "pubpoint_props.asp?server=<%= g_strQueryStringServer %>" + "&op=enable&category=<%= strCategory %>&pluginIndex=" + g_szCurPluginElementName + "&ppID=<%= g_strPubPointID %>";
  1869.     }
  1870.     <% jsCATCH %>
  1871. }
  1872. <% else %>
  1873. //////////////////////////////////////////////////////////////////////////
  1874. function Enable()
  1875. {
  1876.     <% jsTRY %>
  1877.     if( g_bCurSelSupportsEnableDisable && g_bEnabled && ! g_bInError )
  1878.     {
  1879.         return;
  1880.     }
  1881.  
  1882.     var szInstance;
  1883.     szInstance = new String( GetCheckedItem() );
  1884.     if( ( null != szInstance ) && ( 0 < szInstance.length ) )
  1885.     {
  1886. <% if SHOWING_CREDENTIALS = dwDisplayMode then %>
  1887.         document.location = "networking.asp?server=<%= g_strQueryStringServer %>" + "&op=enable&category=" + "<%= strCategory %>" + "&instance=" + szInstance + "&ppID=<%= g_strPubPointID %>";
  1888. <% elseif SHOWING_NETWORKING = dwDisplayMode then %>
  1889.         document.location = "networking.asp?server=<%= g_strQueryStringServer %>" + "&op=enable&category=" + "<%= strCategory %>" + "&instance=" + szInstance + "&ppID=<%= g_strPubPointID %>";
  1890. <% elseif SHOWING_WIRELESS = dwDisplayMode then %>
  1891.         document.location = "wireless.asp?server=<%= g_strQueryStringServer %>" + "&op=enable&category=" + "<%= strCategory %>" + "&ppID=<%= g_strPubPointID %>";
  1892. <% end if %>
  1893.     }
  1894.     else
  1895.     {
  1896.         window.alert( " <%= RemoveDangerousCharacters( L_PLEASESELECTAPLUGIN_TEXT ) %>" );
  1897.     }
  1898.     <% jsCATCH %>
  1899. }
  1900. <% end if %>
  1901.  
  1902. //////////////////////////////////////////////////////////////////////////
  1903. function Disable()
  1904. {
  1905.     <% jsTRY %>
  1906.     if( ( ! g_bCurSelSupportsEnableDisable ) || ! g_bEnabled && ! g_bInError )
  1907.     {
  1908.         return;
  1909.     }
  1910.     
  1911. <% if SHOWING_PLUGINS = dwDisplayMode then %>
  1912.     document.location = "../plugins/plugin_action.asp?server=<%= g_strQueryStringServer %>" + "&op=disable&category=<%= strCategory %>&pluginIndex=" + g_szCurPluginElementName + "&referrer=<%= Server.URLEncode("../pubpoints/pubpoint_props.asp") %>&ppID=<%= g_strPubPointID %>";
  1913. <% else %>
  1914.     var szInstance;
  1915.     szInstance = new String( GetCheckedItem() );
  1916.     if( ( null != szInstance ) && ( 0 < szInstance.length ) )
  1917.     {
  1918. <% if SHOWING_CREDENTIALS = dwDisplayMode then %>
  1919.         document.location = "networking.asp?server=<%= g_strQueryStringServer %>" + "&op=disable&category=" + "<%= strCategory %>" + "&instance=" + szInstance + "&referrer=<%= Server.URLEncode("../pubpoints/pubpoint_props.asp") %>&ppID=<%= g_strPubPointID %>";
  1920. <% elseif SHOWING_NETWORKING = dwDisplayMode then %>
  1921.         document.location = "networking.asp?server=<%= g_strQueryStringServer %>" + "&op=disable&category=" + "<%= strCategory %>" + "&instance=" + szInstance + "&referrer=<%= Server.URLEncode("../pubpoints/pubpoint_props.asp") %>&ppID=<%= g_strPubPointID %>";
  1922. <% else' if SHOWING_WIRELESS = dwDisplayMode then %>
  1923.         document.location = "wireless.asp?server=<%= g_strQueryStringServer %>" + "&op=disable&category=" + "<%= strCategory %>" + "&referrer=<%= Server.URLEncode("../pubpoints/pubpoint_props.asp") %>&ppID=<%= g_strPubPointID %>";
  1924. <% end if %>
  1925.     }
  1926.     else
  1927.     {
  1928.         window.alert( " <%= RemoveDangerousCharacters( L_PLEASESELECTAPLUGIN_TEXT ) %>" );
  1929.     }
  1930. <% end if %>
  1931.     <% jsCATCH %>
  1932. }
  1933.  
  1934. <% if SHOWING_PLUGINS = dwDisplayMode then %>
  1935. //////////////////////////////////////////////////////////////////////////
  1936. function Remove()
  1937. {
  1938.     <% jsTRY %>
  1939.     if( ! g_bCurSelCanBeRemoved )
  1940.     {
  1941.         return;
  1942.     }
  1943.  
  1944.     var szPluginIndex;
  1945.     szPluginIndex = new String( GetCheckedItem() );
  1946.     if( ( null != szPluginIndex ) && ( 0 < szPluginIndex.length ) )
  1947.     {
  1948.         document.location = "../plugins/plugin_action.asp?server=<%= g_strQueryStringServer %>" + "&ppID=<%= g_strPubPointID %>&op=remove&category=<%= strCategory %>&pluginIndex=" + szPluginIndex;
  1949.     }
  1950.     else
  1951.     {
  1952.         window.alert( " <%= RemoveDangerousCharacters( L_PLEASESELECTAPLUGIN_TEXT ) %>" );
  1953.     }
  1954.     <% jsCATCH %>
  1955. }
  1956.  
  1957. //////////////////////////////////////////////////////////////////////////
  1958. function Duplicate()
  1959. {
  1960.     <% jsTRY %>
  1961.     if( ! g_bCurSelCanBeDuplicated )
  1962.     {
  1963.         return;
  1964.     }
  1965.  
  1966.     var szNewName;
  1967.     szNewName = "";
  1968.     
  1969.     var szPluginIndex;
  1970.     szPluginIndex = new String( GetCheckedItem() );
  1971.     if( ( null != szPluginIndex ) && ( 0 < szPluginIndex.length ) )
  1972.     {
  1973.         document.location = "../plugins/plugin_dialog.asp?server=<%= g_strQueryStringServer %>&ppID=<%= g_strPubPointID %>&op=duplicate&category=<%= strCategory %>&pluginIndex=" + szPluginIndex;
  1974.         return;
  1975.     }
  1976.     else
  1977.     {
  1978.         window.alert( " <%= RemoveDangerousCharacters( L_PLEASESELECTAPLUGIN_TEXT ) %>" );
  1979.     }
  1980.     <% jsCATCH %>
  1981. }
  1982.  
  1983.     <% if bPluginRemovedError then %>
  1984. //////////////////////////////////////////////////////////////////////////
  1985. function HandleRemoveError()
  1986. {
  1987.     <% jsTRY %>
  1988.     var szNewQueryString;
  1989.  
  1990.     window.alert( "<%= RemoveDangerousCharacters( L_CANNOTREMOVELASTINSTANCEOFAPLUGIN_TEXT ) %>" );
  1991.     
  1992.     szNewQueryString = "&category=<%= strCategory %>&pluginIndex=<%= qs( "pluginIndex" ) %>&ppID=<%= g_strPubPointID %>";
  1993.     document.location.replace( "pubpoint_props.asp?server=<%= g_strQueryStringServer %>" + szNewQueryString );
  1994.     <% jsCATCH %>
  1995. }
  1996.     <% elseif bPluginRenamedError then %>
  1997. //////////////////////////////////////////////////////////////////////////
  1998. function HandleRenameError()
  1999. {
  2000.     <% jsTRY %>
  2001.     var szNewQueryString;
  2002.  
  2003.     <%if "" = qs("message") then %>
  2004.     window.alert( "<%= RemoveDangerousCharacters( L_CANNOTRENAMEPLUGINERROR_TEXT ) & "\n" & Server.HTMLEncode( qs("message") ) %>" );
  2005.     <% else %>
  2006.     window.alert( "<%= RemoveDangerousCharacters( qs("message") ) %>" );
  2007.     <% end if %>
  2008.  
  2009.     szNewQueryString = "&ppID=<%= g_strPubPointID %>&category=<%= strCategory %>&pluginIndex=<%= qs( "pluginIndex" ) %>";
  2010.     document.location.replace( "pubpoint_props.asp?server=<%= g_strQueryStringServer %>" + szNewQueryString );
  2011.     <% jsCATCH %>
  2012. }
  2013.     <% elseif bPluginDuplicateError then %>
  2014. //////////////////////////////////////////////////////////////////////////
  2015. function HandleDuplicateError()
  2016. {
  2017.     <% jsTRY %>
  2018.     var newQueryString;
  2019.  
  2020.     <%if "" = qs("message") then %>
  2021.     window.alert( "<%= RemoveDangerousCharacters( L_CANNOTDUPLICATEERROR_TEXT ) %>" );
  2022.     <% else %>
  2023.     window.alert( "<%= RemoveDangerousCharacters( qs("message") ) %>" );
  2024.     <% end if %>
  2025.  
  2026.     szNewQueryString = "&category=<%= strCategory %>&instance=<%= pluginIndex %>&ppID=<%= qs( "pluginIndex" ) %>";
  2027.     document.location.replace( "pubpoint_props.asp?server=<%= g_strQueryStringServer %>" + szNewQueryString );
  2028.     <% jsCATCH %>
  2029. }
  2030.     <% end if %>
  2031. <% end if %>
  2032. -->
  2033. </script>
  2034. </head>
  2035. <%
  2036. if bPluginRemovedError then
  2037.     strOnLoadProc = "HandleRemoveError();"
  2038. elseif bPluginRenamedError then
  2039.     strOnLoadProc = "HandleRenameError();"
  2040. elseif bPluginDuplicateError then
  2041.     strOnLoadProc = "HandleDuplicateError();"
  2042. else
  2043.     strOnLoadProc = "SetFocusToCategory( 0 );"
  2044. end if
  2045. %><body bgcolor="<%= colorTabLight %>" topmargin="0" leftmargin="0" rightmargin="0" marginwidth="0" marginheight="0" onLoad="JavaScript:<%if bDriveUpdateToTreeView then %>UpdateTreeView();<% end if %><%= strOnLoadProc %>Init();<% if 0 < Len( "pendingOp" ) then %>HandlePendingOp();<% end if %>" oncontextmenu="JavaScript:event.cancelBubble=true;return false;">
  2046. <%
  2047. ' Draw the page banner and tabs
  2048. if bCacheProxyPubPoint then
  2049.     DrawCacheProxyPPNameBanner L_PROPERTIESTABTITLE_TEXT
  2050. else
  2051.     DrawPPNameBanner L_PROPERTIESTABTITLE_TEXT
  2052. end if
  2053. %>
  2054. <br>
  2055. <form name="mainForm" <% if SHOWING_LIMITS = dwDisplayMode then %>method="POST" <% end if %>>
  2056. <table bgcolor="#FFFFFF" width="100%" cellspacing="5" border="0" >
  2057.     <tr>
  2058.         <td>
  2059.         <table width="100%" cellspacing="0" cellpadding="0" border=0>
  2060.         <tr>
  2061.             <td>
  2062.                 <span class="helptext"><%
  2063.                 if SHOWING_LIMITS = dwDisplayMode then 
  2064.                     Response.Write( L_PPPROPSHELP_TEXT )
  2065.                 elseif SHOWING_PLUGINS = dwDisplayMode then
  2066.                     Response.Write( L_PUBPOINTPLUGINHELP_TEXT )
  2067.                 elseif SHOWING_WIRELESS = dwDisplayMode then
  2068.                     Response.Write( L_PPWIRELESSHELP_TEXT )
  2069.                 elseif SHOWING_CREDENTIALS = dwDisplayMode then
  2070.                     Response.Write( L_PPCREDWORKINGHELP_TEXT )
  2071.                 elseif SHOWING_NETWORKING = dwDisplayMode then
  2072.                     Response.Write( L_PPNETWORKINGHELP_TEXT )
  2073.                 elseif SHOWING_CACHEPROXYMGMT = dwDisplayMode then
  2074.                     Response.Write( L_PPCPMGMTHELP_TEXT )
  2075.                 else
  2076.                     Response.Write( L_PPGENHELP_TEXT )
  2077.                 end if
  2078.                 %>
  2079.                 </span><br> 
  2080.             </td>
  2081.         </tr>
  2082.         </table>
  2083.  
  2084.         <table bgcolor="#FFFFFF" cellspacing="0" cellpadding="0"  border="0" >
  2085.         <tr valign=top>
  2086.             <td>
  2087.                 <table width="100%" cellspacing="0" cellpadding="0" border="1" bgcolor="#FFFFFF">
  2088.                 <tr>
  2089.                     <td>
  2090.                         <table width="100%" cellspacing="0" cellpadding="0" border="0" bgcolor="#FFFFFF">
  2091.                         <tr>
  2092.                             <td align="center" valign="top" nowrap bgcolor="#6699ff" class="colheadertext">
  2093.                                 <table cellspacing="1" cellpadding="1" bgcolor="#6699ff" border="0" ID="Table5"><tr><td class="colheadertext" nowrap>
  2094.                                     <%= Server.HTMLEncode( L_CATEGORY_TEXT ) %>
  2095.                                 </td><% 
  2096.                                 if brOpera = g_dwBrowserType then %>
  2097.                                 <td>
  2098.                                 <input type="button" name="<%= Server.HTMLEncode( L_GOBUTTON_TEXT ) %>" value="<%= Server.HTMLEncode( L_GOBUTTON_TEXT ) %>" tabIndex=<%= dwTabIndex %><% dwTabIndex = dwTabIndex + 1 %> onclick="JavaScript:PluginTypeSelected( <% if( brMSIE <> g_dwBrowserType ) then %>event, <% end if %>true );" ID="Button2" NAME="Button1"></td>
  2099.                                 <% 
  2100.                                 end if %></tr></table>
  2101.                             </td>
  2102.                         </tr>
  2103.                         <tr><%
  2104.                         Dim dwNumOptionsAvailable
  2105.                         if( bBroadcastPubPoint ) then
  2106.                             if( bCacheProxyPubPoint ) then
  2107.                                 dwNumOptionsAvailable = 7
  2108.                             else
  2109.                                 if TRUE = blnRunningOnWhistlerAdvServer then
  2110.                                     dwNumOptionsAvailable = 13
  2111.                                 else
  2112.                                     dwNumOptionsAvailable = 11
  2113.                                 end if
  2114.                             end if
  2115.                         else
  2116.                             if( bCacheProxyPubPoint ) then
  2117.                                 dwNumOptionsAvailable = 7
  2118.                             else
  2119.                                 if TRUE = blnRunningOnWhistlerAdvServer then
  2120.                                     dwNumOptionsAvailable = 10
  2121.                                 else
  2122.                                     dwNumOptionsAvailable = 9
  2123.                                 end if
  2124.                             end if
  2125.                         end if
  2126.                         %>
  2127.                             <td bgcolor="#FFFFFF" align="middle" width="100%" valign="top">
  2128.                                 <select 
  2129.                                     name="type" 
  2130.                                     tabIndex="<%= dwTabIndex %>" <% dwTabIndex = dwTabIndex + 1 %> 
  2131.                                     class="propshand" 
  2132.                                     style="BACKGROUND-COLOR: #ffffff;" 
  2133.                                     size=<%= dwNumOptionsAvailable %> 
  2134.                                     onClick="JavaScript:PluginTypeSelected( <% if( brMSIE <> g_dwBrowserType ) then %>event, <% end if %>true );" 
  2135.                                     onKeyUp="JavaScript:PluginTypeSelected( <% if( brMSIE <> g_dwBrowserType ) then %>event, <% end if %>false );"
  2136.                                 >
  2137.                                     <option value="<%= Server.HTMLEncode( CAT_GEN ) %>" <% if iGeneral = iFormSelect then Response.Write( "selected" ) end if %> > <%= Server.HTMLEncode( L_GENERAL_TEXT ) %>
  2138.                                     <option value="<%= Server.HTMLEncode( CAT_AUTHORIZE ) %>" <% if iAuthorizers = iFormSelect then Response.Write( "selected" ) end if %> > <%= Server.HTMLEncode( L_AUTHORIZERS_TEXT ) %>
  2139.                                     <option value="<%= Server.HTMLEncode( CAT_LOGGING ) %>" <% if iLogging = iFormSelect then Response.Write( "selected" ) end if %> > <%= Server.HTMLEncode( L_LOGGING_TEXT ) %>
  2140.                                     <option value="<%= Server.HTMLEncode( CAT_EVENT ) %>" <% if iEvent = iFormSelect then Response.Write( "selected" ) end if %> > <%= Server.HTMLEncode( L_EVENTSPHANDLERS_TEXT ) %>
  2141.                                     <option value="<%= Server.HTMLEncode( CAT_AUTHEN ) %>" <% if iAuthen = iFormSelect then Response.Write( "selected" ) end if %> > <%= Server.HTMLEncode( L_AUTHENTICATION_TEXT ) %>
  2142.                                     <option value="<%= Server.HTMLEncode( CAT_LIM ) %>" <% if iLimits = iFormSelect then Response.Write( "selected" ) end if %> > <%= Server.HTMLEncode( L_LIMITS_TEXT ) %>
  2143.                                     <% if TRUE = blnRunningOnWhistlerAdvServer then %>
  2144.                                     <option value="<%= Server.HTMLEncode( CAT_WIRELESS ) %>" <% if iWireless = iFormSelect then Response.Write( "selected" ) end if %> > <%= Server.HTMLEncode( L_WIRELESS_TEXT ) %>
  2145.                                     <% end if %>
  2146.                                     <% if ( FALSE = bCacheProxyPubPoint ) then %>
  2147.                                     <option value="<%= Server.HTMLEncode( CAT_PLAYXFORM ) %>" <% if iPlXform = iFormSelect then Response.Write( "selected" ) end if %> > <%= Server.HTMLEncode( L_PLAYLISTSPTRANSFORM_TEXT ) %>
  2148.                                     <option value="<%= Server.HTMLEncode( CAT_CACHEPROXYMGMT ) %>" <% if iCPMgmt = iFormSelect then Response.Write( "selected" ) end if %> > <%= Server.HTMLEncode( L_CACHEPROX_TEXT ) %>
  2149.                                         <% if ( TRUE = bBroadcastPubPoint ) then %>
  2150.                                     <option value="<%= Server.HTMLEncode( CAT_ARCH ) %>" <% if iArchivers = iFormSelect then Response.Write( "selected" ) end if %> > <%= Server.HTMLEncode( L_ARCHIVESPWRITERS_TEXT ) %>
  2151.                                             <% if blnRunningOnWhistlerAdvServer then %>
  2152.                                     <option value="<%= Server.HTMLEncode( CAT_MCAST ) %>" <% if iMCast = iFormSelect then Response.Write( "selected" ) end if %> > <%= Server.HTMLEncode( L_MULTICASTSPWRITERS_TEXT ) %>
  2153.                                             <% end if %>
  2154.                                         <% end if %>
  2155.                                     <% end if %>
  2156.                                     <% if( FALSE = bCacheProxyPubPoint ) then %>
  2157.                                     <option value="<%= Server.HTMLEncode( CAT_CRED ) %>" <% if iCredentials = iFormSelect then Response.Write( "selected" ) end if %> > <%= Server.HTMLEncode( L_CREDENTIALS_TEXT ) %>
  2158.                                     <% end if %>
  2159.                                     <% if ( FALSE = bCacheProxyPubPoint ) and ( TRUE = bBroadcastPubPoint ) then %>
  2160.                                     <option value="<%= Server.HTMLEncode( CAT_NET ) %>" <% if iNetworking = iFormSelect then Response.Write( "selected" ) end if %> > <%= Server.HTMLEncode( L_NETWORKING_TEXT ) %>
  2161.                                     <% end if %>
  2162.                                 </select>
  2163.                             </td>
  2164.                         </tr>
  2165.                         </table>
  2166.                     </td>
  2167.                 </tr>
  2168.                 </table>
  2169.             </td>
  2170.         <td valign=top >
  2171.               
  2172.         </td>
  2173.  
  2174. <% if ( SHOWING_PLUGINS = dwDisplayMode ) then %>
  2175.         <td valign=top >
  2176.         <table width="100%" cellspacing="0" cellpadding="0" border="1" bgcolor="#FFFFFF">
  2177.         <tr>
  2178.             <td>
  2179.                 <table width="100%" cellspacing="0" cellpadding="0" border="0" cols="3">
  2180.                 <tr>
  2181.                     <td align="left" valign="top" bgcolor="#6699ff" class="colheader">
  2182.                         <table cellspacing="1" cellpadding="1" bgcolor="#6699ff" border="0"><tr><td class="colheadertext" nowrap>
  2183.                               <%= Server.HTMLEncode( L_PLUGIN_TEXT ) %>
  2184.                         </td></tr></table>
  2185.                     </td>
  2186.                     <td align="center" valign="top" bgcolor="#6699ff" class="colheader">
  2187.                         <table cellspacing="1" cellpadding="1" bgcolor="#6699ff" border="0"><tr><td class="colheadertext" nowrap>
  2188.                             <center>  <%= Server.HTMLEncode( L_STATUS_TEXT ) %>  </center>
  2189.                         </td></tr></table>
  2190.                     </td>
  2191.                     <td align="center" valign="top" bgcolor="#6699ff" class="colheader">
  2192.                         <table cellspacing="1" cellpadding="1" bgcolor="#6699ff" border="0"><tr><td class="colheadertext" nowrap>
  2193.                             <center>  <%= Server.HTMLEncode( L_DESCRIPTION_TEXT ) %>  </center>
  2194.                         </td></tr></table>
  2195.                     </td>
  2196.                 </tr>
  2197.             <%
  2198.                 on error resume next
  2199.                 Dim iPluginIndex
  2200.                 Dim strInputName, strPluginName, strMoniker, strSingleInstance
  2201.                 Dim strCurrentSubCategory
  2202.                 Dim dwPluginStatusFlags
  2203.                 Dim bRemoved
  2204.                 Dim bEnabled
  2205.                 Dim bInError
  2206.                 Dim bHideNTFSAuthPlugin
  2207.                 Dim bIsActiveScriptNoFilename
  2208.                 Dim bSingleInstance
  2209.                 Dim bSupportsPropPage
  2210.                 Dim bCannotLoadRequiresAdvServer
  2211.                 Dim bProcessThisPlugin
  2212.  
  2213.                 iPluginCount = g_objPluginCollection.Count
  2214.                 strPluginName = ""
  2215.                 dwNumPluginsDisplayed = 0
  2216.                 bCheckedAnItem = FALSE
  2217.                 iPluginIndex = 0
  2218.                 bHideNTFSAuthPlugin = _
  2219.                     ( ( WMS_PUBLISHING_POINT_TYPE_CACHE_PROXY_BROADCAST = dwPPType ) or _
  2220.                       ( WMS_PUBLISHING_POINT_TYPE_BROADCAST = dwPPType ) ) and _
  2221.                     ( 0 = StrComp( strCategory, CAT_AUTHORIZE ) )
  2222.                 for iPluginIndex = 0 to ( iPlugincount - 1 )
  2223.                     
  2224.                     strMoniker = CStr( "" )
  2225.                     strSingleInstance = CStr( "" )
  2226.                     Set EachPlugin = g_objPluginCollection( iPluginIndex )
  2227.                     strCurrentSubCategory = ""
  2228.                     bProcessThisPlugin = TRUE
  2229.                     if( IsEmpty( EachPlugin ) ) then
  2230.                         bProcessThisPlugin = FALSE
  2231.                     elseif ( bHideNTFSAuthPlugin and ( 0 = StrComp( "{16709971-12C0-11d3-B998-006008317860}", EachPlugin.CLSID, vbTextCompare ) ) ) then
  2232.                         bProcessThisPlugin = FALSE
  2233.                     end if
  2234.                     
  2235.                     strCurrentSubCategory = EachPlugin.Properties( "SubCategory" )
  2236.  
  2237.                     if( bProcessThisPlugin and _
  2238.                         ( ( ( "" = strCurrentSubCategory ) and ( "" = strSubCategory ) ) or _
  2239.                         ( 0 = strcomp( strCurrentSubCategory, strSubCategory, vbTextCompare ) ) ) ) then
  2240.                         
  2241.                         dwNumPluginsDisplayed = dwNumPluginsDisplayed + 1
  2242.                         strPluginName = EachPlugin.Name
  2243.                         bRemoved = CBool( WMS_PLUGIN_REMOVE_ON_SERVICE_RESTART and EachPlugin.Status )
  2244.                         strMoniker = CStr( EachPlugin.Properties("ASPMoniker") )
  2245.                         bSupportsPropPage = CBool( 0 < Len( strMoniker ) )
  2246.  
  2247.                         strSingleInstance = CStr( EachPlugin.Properties( "Singleton Instance" ) )
  2248.                         bSingleInstance = CBool( ( 0 < Len( strSingleInstance ) ) and ( 0 = StrComp( "1", strSingleInstance, vbTextCompare ) ) )
  2249.                         bCannotLoadRequiresAdvServer = not blnRunningOnWhistlerAdvServer and CBool( ( WMS_PLUGIN_SUPPORT_REQUIRES_ADVANCED_SERVER = EachPlugin.SupportStatus ) )
  2250.                         dwPluginStatusFlags = EachPlugin.Status
  2251.                         bEnabled = WMS_PLUGIN_ENABLED and dwPluginStatusFlags
  2252.                         bInError = WMS_PLUGIN_ERROR and dwPluginStatusFlags
  2253.                         bIsActiveScriptNoFilename = FALSE
  2254.                         bIsActiveScriptNoFilename = NoFilenameActiveScriptPlugin( EachPlugin )
  2255.                     %>
  2256.                     <tr>
  2257.                         <td width=<%= Server.HTMLEncode( MAX_LEN_PLUGINNAME ) %> bgcolor="#FFFFFF" valign="bottom">
  2258.                             <table width="100%" cellpadding="0" cellspacing="5" bgcolor="#FFFFFF" border="0">
  2259.                             <tr>
  2260.                                 <td width="100%" nowrap>
  2261.                                     <input 
  2262.                                         type="radio" 
  2263.                                         name="plugins" 
  2264.                                         id="radio_plugin_<%= iPluginIndex %>"<%
  2265.                                     if ( not bCheckedAnItem ) then
  2266.                                         if( ( CInt( dwQueryStringPluginIndex ) = CInt( iPluginIndex ) ) or ( CInt( ( iPluginCount ) - 1 ) = CInt( iPluginIndex ) ) ) then
  2267.                                             strCurrentCheckedPluginName = "plugin_" & iPluginIndex
  2268.                                             Response.Write( " checked " )
  2269.                                             bCurSelCanBeDuplicated = ( FALSE = bSingleInstance )
  2270.                                             bCurSelSupportsProperties = bSupportsPropPage
  2271.                                             bCurSelEnabled = bEnabled
  2272.                                             bCurSelInError = bInError
  2273.                                             bCurSelIsActiveScriptNoFilename = bIsActiveScriptNoFilename
  2274.                                             bCheckedAnItem = TRUE
  2275.                                         end if
  2276.                                     end if %>
  2277.                                         onClick="JavaScript:g_bEnabled=<%= BoolToText( bEnabled ) %>;g_szCurPluginElementName='plugin_<%= iPluginIndex %>';g_bCurSelCanBeRemoved=<%= BoolToText( not bRemoved ) %>;g_bCurSelCanBeDuplicated=<%= BoolToText( not bSingleInstance ) %>;g_bCurSelSupportsProperties=<%= BoolToText( bSupportsPropPage ) %>;g_bInError=<%= BoolToText( bInError ) %>;g_bShowActiveScriptWarning=<%= BoolToText( bIsActiveScriptNoFilename ) %>;DrawCurrentToolbarSelection();" 
  2278.                                         value="<%= strPluginName %>"
  2279.                                         tabIndex="<%= dwTabIndex %>" <% dwTabIndex = dwTabIndex + 1 %> >
  2280.                                     <label 
  2281.                                         for="radio_plugin_<%= iPluginIndex %>"
  2282.                                         tabIndex="<%= dwTabIndex %>" <% dwTabIndex = dwTabIndex + 1 %>
  2283.                                         class="propshand<% if bRemoved or bCannotLoadRequiresAdvServer then %>disabled<% end if %>" 
  2284.                                         style="cursor:<% if bSupportsPropPage then %>hand<% else %>default<% end if %>;"
  2285.                                         id="plugin_<%= iPluginIndex %>" 
  2286.                                         name="plugin_<%= iPluginIndex %>" 
  2287.                                         proppage="<% 
  2288.                                         if bSupportsPropPage then 
  2289.                                             Response.Write( strPluginName )
  2290.                                         end if %>" <%
  2291.                                         if not bCannotLoadRequiresAdvServer then %> 
  2292.                                         onClick="JavaScript:ClickRadio( <%= dwNumPluginsDisplayed - 1 %> );<% if bSupportsPropPage then %>HandlePluginClick( 'plugin_<%= iPluginIndex %>' );<% else %>WarnNoProps();<% end if %>g_bEnabled=<%= BoolToText( bEnabled ) %>;g_szCurPluginElementName='plugin_<%= iPluginIndex %>';g_bCurSelCanBeRemoved=<%= BoolToText( not bRemoved ) %>;g_bCurSelCanBeDuplicated=<%= BoolToText( not bSingleInstance ) %>;g_bCurSelSupportsProperties=<%= BoolToText( bSupportsPropPage ) %>;g_bInError=<%= BoolToText( bInError ) %>;g_bShowActiveScriptWarning=<%= BoolToText( bIsActiveScriptNoFilename ) %>;DrawCurrentToolbarSelection();"<% end if %>><%
  2293.                                         if( brMSIE = g_dwBrowserType ) then
  2294.                                             Response.BinaryWrite( Server.HTMLEncode( SafeUnescape( strPluginName ) )  )
  2295.                                         else
  2296.                                             Response.Write( Server.HTMLEncode( strPluginName ) )
  2297.                                         end if
  2298.                                         %></label>
  2299.                                 </td>
  2300.                             </tr>
  2301.                             </table>
  2302.                         </td>
  2303.                         <td bgcolor="#FFFFFF" nowrap class="props" align="center" valign="bottom">
  2304.                             <table width="100%" cellpadding="0" cellspacing="5" bgcolor="#FFFFFF" border="0" ID="Table6">
  2305.                             <tr>
  2306.                                 <td width="100%">
  2307.                                     <% if bCannotLoadRequiresAdvServer then %>
  2308.                                     <span class="propsdisabled"> <%= L_REQADVSERVER_TEXT %> </span>
  2309.                                     <% elseif bRemoved then %>
  2310.                                     <span class="propsdisabled"> <%= L_REMOVED_TEXT %> </span>
  2311.                                     <% elseif bInError then %>
  2312.                                     <span class="props"> <%= L_INERROR_TEXT %> </span>
  2313.                                     <% elseif bEnabled then %>
  2314.                                     <span class="props"> <%= L_ENABLED_TEXT %> </span>
  2315.                                     <% else %>
  2316.                                     <span class="props"> <%= L_DISABLED_TEXT %> </span>
  2317.                                     <% end if %>
  2318.                                 </td>
  2319.                             </tr>
  2320.                             </table>
  2321.                         </td>
  2322.                         <td bgcolor="#FFFFFF" nowrap class="propshelp" align="center" valign="bottom">
  2323.                             <table width="100%" cellpadding="0" cellspacing="5" bgcolor="#FFFFFF" border="0" ID="Table7">
  2324.                             <tr>
  2325.                                 <td width="100%">
  2326.                                     <center>
  2327.                                     <a nowrap 
  2328.                                     oncontextmenu="JavaScript:event.cancelBubble=true;return false;" 
  2329.                                     class="propshelp" 
  2330.                                     href="JavaScript:GetPluginDescription( 'plugin_<%= iPluginIndex %>');" 
  2331.                                     tabIndex="<%= dwTabIndex %>" <% dwTabIndex = dwTabIndex + 1 %>
  2332.                                     ><%= Server.HTMLEncode( L_DESCRIPTION_TEXT ) %></a>
  2333.                                     </center>
  2334.                                 </td>
  2335.                             </tr>
  2336.                             </table>
  2337.                         </td>
  2338.                     </tr>
  2339.                     <%
  2340.                     end if
  2341.                     %>
  2342.             <% next %>
  2343.             <% if( 0 = dwNumPluginsDisplayed ) then %>
  2344.                     <tr>
  2345.                         <td width=<%= Server.HTMLEncode( MAX_LEN_PLUGINNAME ) %> bgcolor="#FFFFFF" >
  2346.                             <div class="small"> <%
  2347.  
  2348.                             rem Netscape won't recognize this non-break dash character and will display a question mark
  2349.                             if( brMSIE = g_dwBrowserType ) then
  2350.                                 Response.Write( SpacesToNonbreak( L_NOPLUGINS_TEXT ) )
  2351.                             else
  2352.                                 Response.Write( SpacesToNonbreak( Server.HTMLEncode( L_NOPLUGINSMOZILLA_TEXT ) ) )
  2353.                             end if 
  2354.                             
  2355.                             %></div>
  2356.                         </td>
  2357.                         <td bgcolor="#FFFFFF">
  2358.                              
  2359.                         </td>
  2360.                     </tr>
  2361.             <% elseif( ( FALSE = bCheckedAnItem ) and ( 1 = dwNumPluginsDisplayed ) ) then
  2362.                 strCurrentCheckedPluginName = "plugin_" & ( iPluginIndex - 1 )
  2363.                 bCurSelCanBeDuplicated = ( FALSE = bSingleInstance )
  2364.                 bCurSelSupportsProperties = bSupportsPropPage
  2365.                 bCurSelEnabled = bEnabled
  2366.                 bCurSelInError = bInError
  2367.                 bCurSelIsActiveScriptNoFilename = bIsActiveScriptNoFilename
  2368.         end if 
  2369.         %>
  2370.             </table>
  2371.             </td>
  2372.             </tr>
  2373.             </table>
  2374.             
  2375.         </td>
  2376. <% elseif SHOWING_GENERAL = dwDisplayMode then %>
  2377.         <td valign=top >
  2378.         <table width="100%" cellspacing="0" cellpadding="0" border=1>
  2379.         <tr>
  2380.             <td>
  2381.                 <table width="100%" cellspacing="0" cellpadding="0" border=0>
  2382.                 <tr>
  2383.                     <td align="left" valign="top" bgcolor="#6699ff" class="colheader" colspan="2">
  2384.                         <table cellspacing="1" cellpadding="1" bgcolor="#6699ff" border="0"><tr><td class="colheadertext" nowrap>
  2385.                               <%= Server.HTMLEncode( L_NAMEVALUE_TEXT ) %> 
  2386.                         </td></tr></table>
  2387.                     </td>
  2388.                     <td align="center" valign="top" bgcolor="#6699ff" class="colheader">
  2389.                         <table cellspacing="1" cellpadding="1" bgcolor="#6699ff" border="0"><tr><td class="colheadertext" nowrap>
  2390.                             <center>  <%= Server.HTMLEncode( L_DESCRIPTION_TEXT ) %>  </center>
  2391.                         </td></tr></table>
  2392.                     </td>
  2393.                 </tr>
  2394.     <% if not bCacheProxyPubPoint then %>
  2395.     <% if ( FALSE = bBroadcastPubPoint ) then %>
  2396. <% ' Allow player caching %>
  2397.                 <tr>
  2398.                     <td width="16">
  2399.                         <input type="checkbox"
  2400.                                id="PlayerCachingCheckbox"
  2401.                                title="<%= Server.HTMLEncode( L_CHECKBOXDESC_TEXT ) %>"
  2402.                                name="PlayerCachingCheckbox" <% IsCheckedYesNo bAllowPlayerCaching %> 
  2403.                                value=""
  2404.                                onClick="JavaScript:SubmitGenCatChange(  30, this, false );"
  2405.                                tabindex=<%= dwTabIndex %> <% dwTabIndex = dwTabIndex + 1 %> 
  2406.                                >
  2407.                     </td>
  2408.                     <td nowrap align="left">
  2409.                         <label for="PlayerCachingCheckbox" class="handcursor">
  2410.                             <% RenderWithErrorCheck Server.HTMLEncode( L_GENPLAYERCACHING_TEXT ), "PlayerCaching" %>
  2411.                         </label>
  2412.                     </td>
  2413.                     <td bgcolor="#FFFFFF">
  2414.                         <div class="propshelp" align=center>
  2415.                             <a oncontextmenu="JavaScript:event.cancelBubble=true;return false;" class="propshelp" tabIndex="<%= dwTabIndex %>" <% dwTabIndex = dwTabIndex + 1 %> href="JavaScript:GetPropertyDescription( 36 );"><%= Server.HTMLEncode( L_DESCRIPTION_TEXT ) %></a>
  2416.                         </div>
  2417.                     </td>
  2418.                 </tr>
  2419.  
  2420. <% ' Allow distribution caching %>
  2421.                 <tr>
  2422.                     <td width="16">
  2423.                         <input type="checkbox"
  2424.                                title="<%= Server.HTMLEncode( L_CHECKBOXDESC_TEXT ) %>"
  2425.                                id="DistributionCachingCheckbox"
  2426.                                name="DistributionCachingCheckbox" <% IsCheckedYesNo bAllowDistributionCaching %> 
  2427.                                value=""
  2428.                                onClick="JavaScript:SubmitGenCatChange( 31, this, false );"
  2429.                                tabindex=<%= dwTabIndex %><% dwTabIndex = dwTabIndex + 1 %>
  2430.                                >
  2431.                     </td>
  2432.                     <td nowrap align="left">
  2433.                         <label for="DistributionCachingCheckbox" class="handcursor">
  2434.                             <% RenderWithErrorCheck Server.HTMLEncode( L_GENDISTCACHING_TEXT ), "DistributionCaching" %>
  2435.                         </label>
  2436.                     </td>
  2437.                     <td bgcolor="#FFFFFF">
  2438.                         <div class="propshelp" align=center>
  2439.                             <a oncontextmenu="JavaScript:event.cancelBubble=true;return false;" tabIndex="<%= dwTabIndex %>" <% dwTabIndex = dwTabIndex + 1 %> class="propshelp" href="JavaScript:GetPropertyDescription( 31 );"><%= L_DESCRIPTION_TEXT %></a>
  2440.                         </div>
  2441.                     </td>
  2442.                 </tr>
  2443.  
  2444. <% ' Allow distribution caching %>
  2445.                 <tr>
  2446.                     <td width="16">
  2447.                         <input type="checkbox"
  2448.                                title="<%= Server.HTMLEncode( L_CHECKBOXDESC_TEXT ) %>"
  2449.                                name="DirBrowseCheckbox" <% IsCheckedYesNo bAllowDirBrowse %> 
  2450.                                id="DirBrowseCheckbox"
  2451.                                value=""
  2452.                                onClick="JavaScript:SubmitGenCatChange( 32, this, false );"
  2453.                                tabindex=<%= dwTabIndex %><% dwTabIndex = dwTabIndex + 1 %>
  2454.                                >
  2455.                     </td>
  2456.                     <td nowrap align="left">
  2457.                         <label for="DirBrowseCheckbox" class="handcursor">
  2458.                             <% RenderWithErrorCheck Server.HTMLEncode( L_GENACCESSDIRWILD_TEXT ), "DirBrowse" %>
  2459.                         </label>
  2460.                     </td>
  2461.                     <td bgcolor="#FFFFFF">
  2462.                         <div class="propshelp" align=center>
  2463.                             <a oncontextmenu="JavaScript:event.cancelBubble=true;return false;" tabIndex="<%= dwTabIndex %>" <% dwTabIndex = dwTabIndex + 1 %> class="propshelp" href="JavaScript:GetPropertyDescription( 32 );"><%= L_DESCRIPTION_TEXT %></a>
  2464.                         </div>
  2465.                     </td>
  2466.                 </tr>
  2467.     <% else ' BCPP %>
  2468. <% ' Stream splitting %>
  2469.                 <tr>
  2470.                     <td width="16">
  2471.                         <input type="checkbox"
  2472.                                name="StreamSplittingCheckbox" <% IsCheckedYesNo bAllowStreamSplitting %> 
  2473.                                id="StreamSplittingCheckbox"
  2474.                                value=""
  2475.                                onClick="JavaScript:SubmitGenCatChange( 34, this, false );"
  2476.                                tabindex=<%= dwTabIndex %><% dwTabIndex = dwTabIndex + 1 %>
  2477.                                >
  2478.                     </td>
  2479.                     <td nowrap align="left">
  2480.                         <label for="StreamSplittingCheckbox" class="handcursor">
  2481.                             <% RenderWithErrorCheck Server.HTMLEncode( L_GENSTRMSPLITTING_TEXT ), "StreamSplitting" %>
  2482.                         </label>
  2483.                     </td>
  2484.                     <td bgcolor="#FFFFFF">
  2485.                         <div class="propshelp" align=center>
  2486.                             <a oncontextmenu="JavaScript:event.cancelBubble=true;return false;" tabIndex="<%= dwTabIndex %>" <% dwTabIndex = dwTabIndex + 1 %> class="propshelp" href="JavaScript:GetPropertyDescription( 34 );"><%= L_DESCRIPTION_TEXT %></a>
  2487.                         </div>
  2488.                     </td>
  2489.                 </tr>
  2490.  
  2491. <% ' Autostart %>
  2492.                 <tr>
  2493.                     <td widh="16">
  2494.                         <input type="checkbox"
  2495.                                name="AutoStartCheckbox" <% IsCheckedYesNo bAllowAutoStart %> 
  2496.                                id="AutoStartCheckbox"
  2497.                                value=""
  2498.                                onClick="JavaScript:SubmitGenCatChange( 35, this, false );"
  2499.                                tabindex=<%= dwTabIndex %> <% dwTabIndex = dwTabIndex + 1 %> 
  2500.                                >
  2501.                     </td>
  2502.                     <td nowrap align="left">
  2503.                         <label for="AutoStartCheckbox" class="handcursor">
  2504.                             <% RenderWithErrorCheck Server.HTMLEncode( L_GENAUTOSTARTPP_TEXT ), "AutoStart" %>
  2505.                         </label>
  2506.                     </td>
  2507.                     <td bgcolor="#FFFFFF">
  2508.                         <div class="propshelp" align=center>
  2509.                             <a oncontextmenu="JavaScript:event.cancelBubble=true;return false;" tabIndex="<%= dwTabIndex %>" <% dwTabIndex = dwTabIndex + 1 %> class="propshelp" href="JavaScript:GetPropertyDescription( 35 );"><%= L_DESCRIPTION_TEXT %></a>
  2510.                         </div>
  2511.                     </td>
  2512.                 </tr>
  2513.  
  2514. <% ' Allow player caching %>
  2515.                 <tr>
  2516.                     <td width="16">
  2517.                         <input type="checkbox"
  2518.                                name="PlayerCachingCheckbox" <% IsCheckedYesNo bAllowPlayerCaching %> 
  2519.                                id="PlayerCachingCheckbox"
  2520.                                value=""
  2521.                                onClick="JavaScript:SubmitGenCatChange( 30, this, false );"
  2522.                                tabindex=<%= dwTabIndex %> <% dwTabIndex = dwTabIndex + 1 %> 
  2523.                                >
  2524.                     </td>
  2525.                     <td nowrap align="left">
  2526.                         <label for="PlayerCachingCheckbox" class="handcursor">
  2527.                             <% RenderWithErrorCheck Server.HTMLEncode( L_GENPLAYERCACHING_TEXT ), "PlayerCaching" %>
  2528.                         </label>
  2529.                     </td>
  2530.                     <td bgcolor="#FFFFFF">
  2531.                         <div class="propshelp" align=center>
  2532.                             <a oncontextmenu="JavaScript:event.cancelBubble=true;return false;" tabIndex="<%= dwTabIndex %>" <% dwTabIndex = dwTabIndex + 1 %> class="propshelp" href="JavaScript:GetPropertyDescription( 36 );"><%= L_DESCRIPTION_TEXT %></a>
  2533.                         </div>
  2534.                     </td>
  2535.                 </tr>
  2536.     <% end if %>
  2537.     <% else %>
  2538.                 <tr>
  2539.                     <td>
  2540.                          
  2541.                     </td>
  2542.                     <td bgcolor="#FFFFFF">
  2543.                          
  2544.                     </td>
  2545.                 </tr>
  2546.     <% end if %>
  2547.                 </table>
  2548.             </td>
  2549.         </tr>
  2550.         </table>
  2551.         </td>
  2552. <% elseif SHOWING_WIRELESS = dwDisplayMode then 
  2553.         bEnabled = g_objPubPoint.EnableFEC
  2554. %>
  2555.         <td valign=top >
  2556.         <table width="100%" cellspacing="0" cellpadding="0" border=1>
  2557.         <tr>
  2558.             <td>
  2559.                 <table width="100%" cellspacing="0" cellpadding="0" border=0>
  2560.                 <tr>
  2561.                     <td width=<%= Server.HTMLEncode( MAX_LEN_PLUGINNAME ) %> align="left" valign="top" bgcolor="#6699ff" class="colheader">
  2562.                         <table cellspacing="1" cellpadding="1" bgcolor="#6699ff" border="0"><tr><td class="colheadertext" nowrap>
  2563.                               <%= Server.HTMLEncode( L_NAMEVALUE_TEXT ) %> 
  2564.                         </td></tr></table>
  2565.                     </td>
  2566.                     <td halign="right" valign="top" nowrap bgcolor="#6699ff" class="colheader">
  2567.                         <table cellspacing="1" cellpadding="1" bgcolor="#6699ff" border="0"><tr><td class="colheadertext" nowrap>
  2568.                               <%= Server.HTMLEncode( L_STATUS_TEXT ) %> 
  2569.                         </td></tr></table>
  2570.                     </td>
  2571.                     <td halign="right" valign="top" nowrap bgcolor="#6699ff" class="colheader">
  2572.                         <table cellspacing="1" cellpadding="1" bgcolor="#6699ff" border="0"><tr><td class="colheadertext" nowrap>
  2573.                               <%= Server.HTMLEncode( L_DESCRIPTION_TEXT ) %> 
  2574.                         </td></tr></table>
  2575.                     </td>
  2576.                 </tr>
  2577.         
  2578. <% ' FEC %>
  2579.                 <tr>
  2580.                     <td>
  2581.                         <table width="100%" cellpadding="0" cellspacing="4" bgcolor="#FFFFFF" border="0">
  2582.                         <tr>
  2583.                             <td width="100%" nowrap class="propshand">
  2584.                                 <input type="radio"
  2585.                                         name="wireless"
  2586.                                         id="wireless"
  2587.                                         value="<%= Server.HTMLEncode( L_FEC_TEXT ) %>"
  2588.                                         onClick="JavaScript:g_bEnabled=<%= BoolToText( not bEnabled ) %>;g_bSupportsProperties=true;DrawCurrentToolbarSelection();"
  2589.                                         tabindex=<%= dwTabIndex %> <% dwTabIndex = dwTabIndex + 1 %> 
  2590.                                         checked <% bCurSelEnabled = bEnabled %> >
  2591.                                 <label 
  2592.                                     for="wireless" 
  2593.                                     nowrap 
  2594.                                     class="propshand" 
  2595.                                     style="cursor:hand;"
  2596.                                     nowrap 
  2597.                                     tabIndex="<%= dwTabIndex %>" <% dwTabIndex = dwTabIndex + 1 %> onClick="JavaScript:Properties();"><% RenderWithErrorCheck Server.HTMLEncode( L_FEC_TEXT ), "FEC" %></label>
  2598.                             </td>
  2599.                         </tr>
  2600.                         </table>
  2601.                     </td>
  2602.                     <td bgcolor="#FFFFFF" nowrap class="props" align="center" valign="bottom">
  2603.                         <table width="100%" cellpadding="0" cellspacing="5" bgcolor="#FFFFFF" border="0">
  2604.                         <tr>
  2605.                             <td width="100%">
  2606.                                 <% if g_objPubPoint.EnableFEC then %>
  2607.                                 <span tabIndex="<%= dwTabIndex %>" <% dwTabIndex = dwTabIndex + 1 %> onClick="JavaScript:Properties();"> <%= L_ENABLED_TEXT %> </span>
  2608.                                 <% else %>
  2609.                                 <span tabIndex="<%= dwTabIndex %>" <% dwTabIndex = dwTabIndex + 1 %> onClick="JavaScript:Properties();"> <%= L_DISABLED_TEXT %> </span>
  2610.                                 <% end if %>
  2611.                             </td>
  2612.                         </tr>
  2613.                         </table>
  2614.                     </td>
  2615.                     <td bgcolor="#FFFFFF" nowrap class="propshelp" align="center" valign="bottom">
  2616.                         <table width="100%" cellpadding="0" cellspacing="5" bgcolor="#FFFFFF" border="0">
  2617.                         <tr>
  2618.                             <td width="100%">
  2619.                             <center>
  2620.                                 <a oncontextmenu="JavaScript:event.cancelBubble=true;return false;" tabIndex="<%= dwTabIndex %>" <% dwTabIndex = dwTabIndex + 1 %> class="propshelp" href="JavaScript:GetWirelessDescription( 0 );"><%= L_DESCRIPTION_TEXT %></a>
  2621.                             </center>
  2622.                             </td>
  2623.                         </tr>
  2624.                         </table>
  2625.                     </td>
  2626.                 </tr>
  2627.  
  2628.                 </table>
  2629.             </td>
  2630.         </tr>
  2631.         </table>
  2632.             
  2633.         </td>
  2634. <% elseif SHOWING_CREDENTIALS = dwDisplayMode then %>
  2635.         <td valign="top">
  2636.         <table width="100%" cellspacing="0" cellpadding="0" border="1">
  2637.         <tr>
  2638.             <td>
  2639.                 <table width="100%" cellspacing="0" cellpadding="0" border="0">
  2640.                 <tr>
  2641.                     <td width=<%= Server.HTMLEncode( MAX_LEN_PLUGINNAME ) %> align="left" valign="top" bgcolor="#6699ff" class="colheader">
  2642.                         <table cellspacing="1" cellpadding="1" bgcolor="#6699ff" border="0"><tr><td class="colheadertext" nowrap>
  2643.                               <%= Server.HTMLEncode( L_NAMEVALUE_TEXT ) %> 
  2644.                         </td></tr></table>
  2645.                     </td>
  2646.                     <td halign="right" valign="top" nowrap bgcolor="#6699ff" class="colheader">
  2647.                         <table cellspacing="1" cellpadding="1" bgcolor="#6699ff" border="0"><tr><td class="colheadertext" nowrap>
  2648.                               <%= Server.HTMLEncode( L_STATUS_TEXT ) %> 
  2649.                         </td></tr></table>
  2650.                     </td>
  2651.                     <td halign="right" valign="top" nowrap bgcolor="#6699ff" class="colheader">
  2652.                         <table cellspacing="1" cellpadding="1" bgcolor="#6699ff" border="0"><tr><td class="colheadertext" nowrap>
  2653.                               <%= Server.HTMLEncode( L_DESCRIPTION_TEXT ) %> 
  2654.                         </td></tr></table>
  2655.                     </td>
  2656.                 </tr>
  2657.  
  2658. <% ' Distribution credentials %>
  2659.                 <tr>
  2660.                     <td>
  2661.                         <table width="100%" cellpadding="0" cellspacing="3" bgcolor="#FFFFFF" border="0">
  2662.                         <tr>
  2663.                             <td width="100%" nowrap class="propshand">
  2664.                                 <input type="radio"
  2665.                                     name="credentials"
  2666.                                     id="credentials"
  2667.                                     value="<%= Server.HTMLEncode( L_DISTCREDNONSPACE_TEXT ) %>"
  2668.                                     onClick="JavaScript:ClickRadio( 0 );Properties();"
  2669.                                     tabindex=<%= dwTabIndex %> <% dwTabIndex = dwTabIndex + 1 %> 
  2670.                                     checked >
  2671.                                 <label 
  2672.                                     for="credentials" 
  2673.                                     class="propshand" 
  2674.                                     style="cursor:hand;"
  2675.                                     nowrap 
  2676.                                     tabIndex="<%= dwTabIndex %>" <% dwTabIndex = dwTabIndex + 1 %> ><% RenderWithErrorCheck Server.HTMLEncode( L_DISTCREDENTIALS_TEXT ), "NetDistCred" %></label>
  2677.                             </td>
  2678.                         </tr>
  2679.                         </table>
  2680.                     </td>
  2681.                     <td bgcolor="#FFFFFF" nowrap class="props" align="center" valign="bottom">
  2682.                         <table width="100%" cellpadding="0" cellspacing="5" bgcolor="#FFFFFF" border="0">
  2683.                         <tr>
  2684.                             <td width="100%" class="defaultcursor">
  2685.                                  <% 
  2686.                                 on error resume next
  2687.                                 strDistUserName = g_objPubPoint.DistributionUserName
  2688.                                 if( 0 < Len( strDistUserName ) ) then
  2689.                                     Response.Write( L_SPECIFIED_TEXT )
  2690.                                 else
  2691.                                     Response.Write( L_NOTSPECIFIED_TEXT )
  2692.                                 end if 
  2693.                                 %> 
  2694.                             </td>
  2695.                         </tr>
  2696.                         </table>
  2697.                     </td>
  2698.                     <td bgcolor="#FFFFFF" nowrap class="propshelp" align="center" valign="bottom">
  2699.                         <table width="100%" cellpadding="0" cellspacing="5" bgcolor="#FFFFFF" border="0" ID="Table13">
  2700.                         <tr>
  2701.                             <td width="100%">
  2702.                             <center>
  2703.                                 <a oncontextmenu="JavaScript:event.cancelBubble=true;return false;" tabIndex="<%= dwTabIndex %>" <% dwTabIndex = dwTabIndex + 1 %> class="propshelp" href="JavaScript:GetCredentialsDescription( 0 );"><%= L_DESCRIPTION_TEXT %></a>
  2704.                             </center>
  2705.                             </td>
  2706.                         </tr>
  2707.                         </table>
  2708.                     </td>
  2709.                 </tr>
  2710.                 
  2711.                 </table>
  2712.             </td>
  2713.         </tr>
  2714.         </table>
  2715.             
  2716.         </td>
  2717. <% elseif SHOWING_NETWORKING = dwDisplayMode then %>
  2718.         <td valign=top >
  2719.         <table width="100%" cellspacing="0" cellpadding="0" border=1>
  2720.         <tr>
  2721.             <td>
  2722.                 <table width="100%" cellspacing="0" cellpadding="0" border=0>
  2723.                 <tr>
  2724.                     <td width=<%= Server.HTMLEncode( MAX_LEN_PLUGINNAME ) %> align="left" valign="top" bgcolor="#6699ff" class="colheader">
  2725.                         <table cellspacing="1" cellpadding="1" bgcolor="#6699ff" border="0"><tr><td class="colheadertext" nowrap>
  2726.                               <%= Server.HTMLEncode( L_NAMEVALUE_TEXT ) %> 
  2727.                         </td></tr></table>
  2728.                     </td>
  2729.                     <td halign="right" valign="top" nowrap bgcolor="#6699ff" class="colheader">
  2730.                         <table cellspacing="1" cellpadding="1" bgcolor="#6699ff" border="0" ID="Table3"><tr><td class="colheadertext" nowrap>
  2731.                               <%= Server.HTMLEncode( L_STATUS_TEXT ) %> 
  2732.                         </td></tr></table>
  2733.                     </td>
  2734.                     <td halign="right" valign="top" nowrap bgcolor="#6699ff" class="colheader">
  2735.                         <table cellspacing="1" cellpadding="1" bgcolor="#6699ff" border="0" ID="Table4"><tr><td class="colheadertext" nowrap>
  2736.                               <%= Server.HTMLEncode( L_DESCRIPTION_TEXT ) %> 
  2737.                         </td></tr></table>
  2738.                     </td>
  2739.                 </tr>
  2740.  
  2741. <% ' Buffer Setting %>
  2742.                 <% if ( TRUE = bBroadcastPubPoint ) then %>
  2743.                 <tr>
  2744.                     <td>
  2745.                         <div class="propshand">
  2746.                         <input type="radio"
  2747.                                name="networking"
  2748.                                id="networking"
  2749.                                value="<%= Server.HTMLEncode( L_BUFFERSETTING_TEXT ) %>"
  2750.                                onClick="JavaScript:ClickRadio( 1 );Properties();"
  2751.                                tabindex=<%= dwTabIndex %> <% dwTabIndex = dwTabIndex + 1 %> 
  2752.                                checked >
  2753.                                <label 
  2754.                                     for="networking"
  2755.                                     class="propshand" 
  2756.                                     style="cursor:hand;"
  2757.                                     nowrap 
  2758.                                     tabIndex="<%= dwTabIndex %>" <% dwTabIndex = dwTabIndex + 1 %> ><% RenderWithErrorCheck Server.HTMLEncode( L_BUFFERSPSETTING_TEXT ), "NetBuffer" %></label>
  2759.                         </div>
  2760.                     </td>
  2761.                     <td bgcolor="#FFFFFF">
  2762.                         <div class="defaultcursor">
  2763.                         <center> <%
  2764.                             on error resume next
  2765.                             if( 1 = g_objPubPoint.BufferSetting ) then
  2766.                                 Response.Write( Server.HTMLEncode( L_BUFFER_TEXT ) )
  2767.                             else
  2768.                                 Response.Write( Server.HTMLEncode( L_NOBUFFER_TEXT ) )
  2769.                             end if 
  2770.                             %> 
  2771.                         </center>
  2772.                         </div>
  2773.                     </td>
  2774.                     <td bgcolor="#FFFFFF">
  2775.                         <div class="propshelp" align=center>
  2776.                             <center>
  2777.                             <a oncontextmenu="JavaScript:event.cancelBubble=true;return false;" tabIndex="<%= dwTabIndex %>" <% dwTabIndex = dwTabIndex + 1 %> class="propshelp" href="JavaScript:GetNetworkingDescription( 2 );"><%= L_DESCRIPTION_TEXT %></a>
  2778.                             </center>
  2779.                         </div>
  2780.                     </td>
  2781.                 </tr>
  2782.                 <% end if %>
  2783.                 </table>
  2784.             </td>
  2785.         </tr>
  2786.         </table>
  2787.             
  2788.         </td>
  2789.         
  2790. <% elseif SHOWING_CACHEPROXYMGMT = dwDisplayMode then %>
  2791.         <td valign=top >
  2792.         <table width="100%" cellspacing="0" cellpadding="0" border=1>
  2793.         <tr>
  2794.             <td>
  2795.                 <table width="100%" cellspacing="0" cellpadding="0" border="0">
  2796.                 <tr>
  2797.                     <td width=<%= Server.HTMLEncode( MAX_LEN_PLUGINNAME ) %> valign=top nowrap class="colheader">
  2798.                         <div nowrap class="colheader">
  2799.                               <%= Server.HTMLEncode( L_NAMEVALUE_TEXT ) %>
  2800.                         </div>
  2801.                     </td>
  2802.                     <td halign=right valign=top nowrap class="colheader">
  2803.                         <div nowrap class="colheader">
  2804.                             <center>  <%= Server.HTMLEncode( L_STATUS_TEXT ) %>  </center>
  2805.                         </div>
  2806.                     </td>
  2807.                     <td halign=right valign=top nowrap class="colheader">
  2808.                         <div nowrap class="colheader">
  2809.                             <center>  <%= Server.HTMLEncode( L_DESCRIPTION_TEXT ) %>  </center>
  2810.                         </div>
  2811.                     </td>
  2812.                 </tr>
  2813.  
  2814. <% ' Enable cache expiration %>
  2815.                 <tr>
  2816.                     <td>
  2817.                         <table width="100%" cellpadding="0" cellspacing="3" bgcolor="#FFFFFF" border="0">
  2818.                         <tr>
  2819.                             <td width="100%" nowrap class="propshand">
  2820.                                 <input type="radio"
  2821.                                     name="cacheproxymgmt"
  2822.                                     id="cacheproxymgmt"
  2823.                                     value="<%= Server.HTMLEncode( L_CACHEPROXPROP_TEXT ) %>"
  2824.                                     onClick="JavaScript:ClickRadio( 1 );Properties();"
  2825.                                     tabindex=<%= dwTabIndex %> <% dwTabIndex = dwTabIndex + 1 %> 
  2826.                                     checked
  2827.                                         >
  2828.                                <label 
  2829.                                     for="cacheproxymgmt" 
  2830.                                     class="propshand" 
  2831.                                     style="cursor:hand;"
  2832.                                     nowrap 
  2833.                                     tabIndex="<%= dwTabIndex %>" <% dwTabIndex = dwTabIndex + 1 %> ><% 
  2834.                                 if( TRUE = bBroadcastPubPoint ) then 
  2835.                                     strCache = L_CACHEPROXSPPROP_TEXT
  2836.                                 else
  2837.                                     strCache = L_CACHEPROXSPPROPOD_TEXT
  2838.                                 end if
  2839.  
  2840.                                RenderWithErrorCheck Server.HTMLEncode( strCache ), "CacheProxyExpiration" %></label>
  2841.                             </td>
  2842.                         </tr>
  2843.                         </table>
  2844.                     </td>
  2845.                     <td bgcolor="#FFFFFF" nowrap class="props" align="center" valign="bottom">
  2846.                         <table width="100%" cellpadding="0" cellspacing="5" bgcolor="#FFFFFF" border="0" ID="Table1">
  2847.                         <tr>
  2848.                             <td width="100%" class="defaultcursor">
  2849.                                 <center>
  2850.                                  <% 
  2851.                                 Dim lExpiration
  2852.                                 lExpiration = g_objPubPoint.CacheProxyExpiration
  2853.                                 if -1 = lExpiration then
  2854.                                     Response.Write( Server.HTMLEncode( L_NEVEREXPIRE_TEXT ) )
  2855.                                 elseif 0 = lExpiration then
  2856.                                     Response.Write( Server.HTMLEncode( L_ALWAYSEXPIRE_TEXT ) )
  2857.                                 else
  2858.                                     Response.Write( Server.HTMLEncode( GenExpirationString( lExpiration ) ) )
  2859.                                 end if
  2860.                                 %> 
  2861.                                 </center>
  2862.                             </td>
  2863.                         </tr>
  2864.                         </table>
  2865.                     </td>
  2866.                     <td bgcolor="#FFFFFF" nowrap class="propshelp" align="center" valign="bottom">
  2867.                         <table width="100%" cellpadding="0" cellspacing="5" bgcolor="#FFFFFF" border="0" ID="Table2">
  2868.                         <tr>
  2869.                             <td width="100%">
  2870.                                 <center>
  2871.                                 <a oncontextmenu="JavaScript:event.cancelBubble=true;return false;" tabIndex="<%= dwTabIndex %>" <% dwTabIndex = dwTabIndex + 1 %> class="propshelp" href="JavaScript:GetCacheProxyDescription( 0 );"><%= L_DESCRIPTION_TEXT %></a>
  2872.                                 </center>
  2873.                             </td>
  2874.                         </tr>
  2875.                         </table>
  2876.                     </td>
  2877.                 </tr>
  2878.                 </table>
  2879.             </td>
  2880.         </tr>
  2881.         </table>
  2882.         </td>
  2883.         
  2884. <% elseif SHOWING_LIMITS = dwDisplayMode then %>
  2885.         <td valign=top >
  2886.         <table width="100%" cellspacing="0" cellpadding="0" border=1>
  2887.         <tr>
  2888.             <td>
  2889.                 <table width="100%" cellspacing="0" cellpadding="0" border=0>
  2890.                 <tr>
  2891.                     <td valign=top class="colheader" colspan="2">
  2892.                         <table cellspacing="1" cellpadding="1" bgcolor="#6699ff" border="0"><tr><td class="colheadertext" nowrap>
  2893.                               <%= Server.HTMLEncode( L_LIMIT_TEXT ) %>
  2894.                         </td></tr></table>
  2895.                     </td>
  2896.                     <td align="center" valign="top" bgcolor="#6699ff" class="colheader">
  2897.                         <table cellspacing="1" cellpadding="1" bgcolor="#6699ff" border="0"><tr><td class="colheadertext" nowrap>
  2898.                             <center>  <%= Server.HTMLEncode( L_VALUE_TEXT ) %>  </center>
  2899.                         </td></tr></table>
  2900.                     </td>
  2901.                     <td align="center" valign="top" bgcolor="#6699ff" class="colheader">
  2902.                         <table cellspacing="1" cellpadding="1" bgcolor="#6699ff" border="0"><tr><td class="colheadertext" nowrap>
  2903.                             <center>  <%= Server.HTMLEncode( L_DESCRIPTION_TEXT ) %>  </center>
  2904.                         </td></tr></table>
  2905.                     </td>
  2906.                 </tr>
  2907.  
  2908. <% ' Set player connections limit %>
  2909.                 <tr>
  2910.                     <td width="16">
  2911.                         <input type="checkbox"
  2912.                                title="<%= Server.HTMLEncode( L_CHECKBOXDESC_TEXT ) %>"
  2913.                                id="PlayerConnCheckbox"
  2914.                                name="PlayerConnCheckbox" <% CheckIfNotDefault strPlayerConnections, L_UNLIMITED_TEXT %> 
  2915.                                value=""
  2916.                                onClick="ToggleCheckbox( document.mainForm.PlayerConnCheckbox, document.mainForm.PlayerConnText );"
  2917.                                tabindex=<%= dwTabIndex %><% dwTabIndex = dwTabIndex + 1 %>
  2918.                                >
  2919.                     </td>
  2920.                     <td class="propshand" align="left">
  2921.                         <label for="PlayerConnCheckbox"><% RenderWithErrorCheck Server.HTMLEncode( L_PLAYERCONNLIMIT_TEXT ), "AggPlayerBW" %></label>
  2922.                     </td>
  2923.                     <td align=right>
  2924.                         <input type="text" 
  2925.                                name="PlayerConnText"
  2926.                                value="<%= strPlayerConnections %>"
  2927.                                size=<%= dwSizeLimText %>
  2928.                                maxlength=<%= CalcMaxInputLength( strPlayerConnections ) %>
  2929.                                onChange="JavaScript:CheckLimit( document.mainForm.PlayerConnCheckbox, document.mainForm.PlayerConnText );"
  2930.                                onPaste="JavaScript:CheckLimit( document.mainForm.PlayerConnCheckbox, document.mainForm.PlayerConnText );"
  2931.                                onKeyUp="JavaScript:CheckLimit( document.mainForm.PlayerConnCheckbox, document.mainForm.PlayerConnText );"
  2932.                                tabindex=<%= dwTabIndex %> <% dwTabIndex = dwTabIndex + 1 %><% IsDisabled( strPlayerConnections ) %> 
  2933.                                >
  2934.                     </td>
  2935.                     <td bgcolor="#FFFFFF">
  2936.                         <div class="propshelp" align=center>
  2937.                             <center>
  2938.                             <a oncontextmenu="JavaScript:event.cancelBubble=true;return false;" tabIndex="<%= dwTabIndex %>" <% dwTabIndex = dwTabIndex + 1 %> class="propshelp" href="JavaScript:GetLimitDescription( <%= PPLIMDESCOFFSET %> );"><%= L_DESCRIPTION_TEXT %></a>
  2939.                             </center>
  2940.                         </div>
  2941.                     </td>
  2942.                 </tr>
  2943.  
  2944. <% ' Set outgoing distribution connections limit %>
  2945.                 <tr>
  2946.                     <td width="16">
  2947.                         <input type="checkbox"
  2948.                                title="<%= Server.HTMLEncode( L_CHECKBOXDESC_TEXT ) %>"
  2949.                                id="DistConnCheckbox"
  2950.                                name="DistConnCheckbox" <% CheckIfNotDefault strDistConnections, L_UNLIMITED_TEXT %> 
  2951.                                value=""
  2952.                                onClick="ToggleCheckbox( document.mainForm.DistConnCheckbox, document.mainForm.DistConnText );"
  2953.                                tabindex=<%= dwTabIndex %> <% dwTabIndex = dwTabIndex + 1 %>
  2954.                                >
  2955.                     </td>
  2956.                     <td class="propshand" align="left">
  2957.                         <label for="DistConnCheckbox"><% RenderWithErrorCheck Server.HTMLEncode( L_DISTCONNLIMIT_TEXT ), "AggDistBW" %></label>
  2958.                     </td>
  2959.                     <td align=right>
  2960.                         <input type="text" 
  2961.                                name="DistConnText" 
  2962.                                value="<%= strDistConnections %>" 
  2963.                                size=<%= dwSizeLimText %>
  2964.                                maxlength=<%= CalcMaxInputLength( strDistConnections ) %> 
  2965.                                onChange="JavaScript:CheckLimit( document.mainForm.DistConnCheckbox, document.mainForm.DistConnText );" 
  2966.                                onPaste="JavaScript:CheckLimit( document.mainForm.DistConnCheckbox, document.mainForm.DistConnText );" 
  2967.                                onKeyUp="JavaScript:CheckLimit( document.mainForm.DistConnCheckbox, document.mainForm.DistConnText );"
  2968.                                tabindex=<%= dwTabIndex %> <% dwTabIndex = dwTabIndex + 1 %><% IsDisabled( strDistConnections ) %> 
  2969.                                >
  2970.                     </td>
  2971.                     <td bgcolor="#FFFFFF">
  2972.                         <div class="propshelp" align=center>
  2973.                             <center>
  2974.                             <a oncontextmenu="JavaScript:event.cancelBubble=true;return false;" tabIndex="<%= dwTabIndex %>" <% dwTabIndex = dwTabIndex + 1 %> class="propshelp" href="JavaScript:GetLimitDescription( <%= PPLIMDESCOFFSET %> + 1 );"><%= L_DESCRIPTION_TEXT %></a>
  2975.                             </center>
  2976.                         </div>
  2977.                     </td>
  2978.                 </tr>
  2979.  
  2980. <% ' Set aggregate player bandwidth limit (Kbps) %>
  2981.                 <tr>
  2982.                     <td width="16">
  2983.                         <input type="checkbox"
  2984.                                title="<%= Server.HTMLEncode( L_CHECKBOXDESC_TEXT ) %>"
  2985.                                id="AggPlayerBWCheckbox"
  2986.                                name="AggPlayerBWCheckbox" <% CheckIfNotDefault strAggPlayerBW, L_UNLIMITED_TEXT %> 
  2987.                                value=""
  2988.                                onClick="ToggleCheckbox( document.mainForm.AggPlayerBWCheckbox, document.mainForm.AggPlayerBWText );"
  2989.                                tabindex=<%= dwTabIndex %><% dwTabIndex = dwTabIndex + 1 %>
  2990.                                >
  2991.                     </td>
  2992.                     <td class="propshand" align="left">
  2993.                         <label for="AggPlayerBWCheckbox"><% RenderWithErrorCheck Server.HTMLEncode( L_AGGPLAYERBWLIMIT_TEXT ), "PlayerBW" %></label>
  2994.                     </td>
  2995.                     <td align=right>
  2996.                         <input type="text" 
  2997.                                name="AggPlayerBWText" 
  2998.                                value="<%= strAggPlayerBW %>" 
  2999.                                size=<%= dwSizeLimText %>
  3000.                                maxlength=<%= CalcMaxInputLength( strAggPlayerBW ) %> 
  3001.                                onChange="JavaScript:CheckLimit( document.mainForm.AggPlayerBWCheckbox, document.mainForm.AggPlayerBWText );" 
  3002.                                onPaste="JavaScript:CheckLimit( document.mainForm.AggPlayerBWCheckbox, document.mainForm.AggPlayerBWText );" 
  3003.                                onKeyUp="JavaScript:CheckLimit( document.mainForm.AggPlayerBWCheckbox, document.mainForm.AggPlayerBWText );"
  3004.                                tabindex=<%= dwTabIndex %> <% dwTabIndex = dwTabIndex + 1 %><% IsDisabled( strAggPlayerBW ) %> 
  3005.                                >
  3006.                     </td>
  3007.                     <td bgcolor="#FFFFFF">
  3008.                         <div class="propshelp" align=center>
  3009.                             <center>
  3010.                             <a oncontextmenu="JavaScript:event.cancelBubble=true;return false;" tabIndex="<%= dwTabIndex %>" <% dwTabIndex = dwTabIndex + 1 %> class="propshelp" href="JavaScript:GetLimitDescription( <%= PPLIMDESCOFFSET %> + 2 );"><%= L_DESCRIPTION_TEXT %></a>
  3011.                             </center>
  3012.                         </div>
  3013.                     </td>
  3014.                 </tr>
  3015.  
  3016. <% ' Set outgoing distribution bandwidth limit (Kbps) %>                
  3017.                 <tr>
  3018.                     <td width="16">
  3019.                         <input type="checkbox"
  3020.                                title="<%= Server.HTMLEncode( L_CHECKBOXDESC_TEXT ) %>"
  3021.                                id="AggDistBWCheckbox"
  3022.                                name="AggDistBWCheckbox" <% CheckIfNotDefault strDistAggBW, L_UNLIMITED_TEXT %> 
  3023.                                value=""
  3024.                                onClick="ToggleCheckbox( document.mainForm.AggDistBWCheckbox, document.mainForm.AggDistBWText );"
  3025.                                tabindex=<%= dwTabIndex %><% dwTabIndex = dwTabIndex + 1 %>
  3026.                                >
  3027.                     </td>
  3028.                     <td class="propshand" align="left">
  3029.                         <label for="AggDistBWCheckbox"><% RenderWithErrorCheck Server.HTMLEncode( L_DISTBWLIMIT_TEXT ), "DistBW" %></label>
  3030.                     </td>
  3031.                     <td align=right>
  3032.                         <input type="text" 
  3033.                                name="AggDistBWText" 
  3034.                                value="<%= strDistAggBW %>" 
  3035.                                size=<%= dwSizeLimText %>
  3036.                                maxlength=<%= CalcMaxInputLength( strDistAggBW ) %> 
  3037.                                onChange="JavaScript:CheckLimit( document.mainForm.AggDistBWCheckbox, document.mainForm.AggDistBWText );" 
  3038.                                onPaste="JavaScript:CheckLimit( document.mainForm.AggDistBWCheckbox, document.mainForm.AggDistBWText );" 
  3039.                                onKeyUp="JavaScript:CheckLimit( document.mainForm.AggDistBWCheckbox, document.mainForm.AggDistBWText );"
  3040.                                tabindex=<%= dwTabIndex %> <% dwTabIndex = dwTabIndex + 1 %><% IsDisabled( strDistAggBW ) %> 
  3041.                                >
  3042.                     </td>
  3043.                     <td bgcolor="#FFFFFF">
  3044.                         <div class="propshelp" align=center>
  3045.                             <center>
  3046.                             <a oncontextmenu="JavaScript:event.cancelBubble=true;return false;" tabIndex="<%= dwTabIndex %>" <% dwTabIndex = dwTabIndex + 1 %> class="propshelp" href="JavaScript:GetLimitDescription( <%= PPLIMDESCOFFSET %> + 3 );"><%= L_DESCRIPTION_TEXT %></a>
  3047.                             </center>
  3048.                         </div>
  3049.                     </td>
  3050.                 </tr>
  3051.  
  3052. <% ' Set bandwidth per stream per player limit (Kbps) %>                
  3053.                 <tr>
  3054.                     <td width="16">
  3055.                         <input type="checkbox"
  3056.                                title="<%= Server.HTMLEncode( L_CHECKBOXDESC_TEXT ) %>"
  3057.                                id="PlayerBWCheckbox"
  3058.                                name="PlayerBWCheckbox" <% CheckIfNotDefault strPlayerBW, L_UNLIMITED_TEXT %> 
  3059.                                value=""
  3060.                                onClick="ToggleCheckbox( document.mainForm.PlayerBWCheckbox, document.mainForm.PlayerBWText );"
  3061.                                tabindex=<%= dwTabIndex %><% dwTabIndex = dwTabIndex + 1 %>
  3062.                                >
  3063.                     </td>
  3064.                     <td class="propshand" align="left">
  3065.                         <label for="PlayerBWCheckbox"><% RenderWithErrorCheck Server.HTMLEncode( L_BWPERSTREAMPERPLAYERLIMIT_TEXT ), "PlayerBW" %></label>
  3066.                     </td>
  3067.                     <td align=right>
  3068.                         <input type="text" 
  3069.                                name="PlayerBWText" 
  3070.                                value="<%= strPlayerBW %>" 
  3071.                                size=<%= dwSizeLimText %>
  3072.                                maxlength=<%= CalcMaxInputLength( strPlayerBW ) %> 
  3073.                                onChange="JavaScript:CheckLimit( document.mainForm.PlayerBWCheckbox, document.mainForm.PlayerBWText );" 
  3074.                                onPaste="JavaScript:CheckLimit( document.mainForm.PlayerBWCheckbox, document.mainForm.PlayerBWText );" 
  3075.                                onKeyUp="JavaScript:CheckLimit( document.mainForm.PlayerBWCheckbox, document.mainForm.PlayerBWText );"
  3076.                                tabindex=<%= dwTabIndex %> <% dwTabIndex = dwTabIndex + 1 %><% IsDisabled( strPlayerBW ) %> 
  3077.                                >
  3078.                     </td>
  3079.                     <td bgcolor="#FFFFFF">
  3080.                         <div class="propshelp" align=center>
  3081.                             <center>
  3082.                             <a oncontextmenu="JavaScript:event.cancelBubble=true;return false;" tabIndex="<%= dwTabIndex %>" <% dwTabIndex = dwTabIndex + 1 %> class="propshelp" href="JavaScript:GetLimitDescription( <%= PPLIMDESCOFFSET %> + 4 );"><%= L_DESCRIPTION_TEXT %></a>
  3083.                             </center>
  3084.                         </div>
  3085.                     </td>
  3086.                 </tr>
  3087.  
  3088. <% ' Set bandwidth per outgoing distribution stream (Kbps) %>                
  3089.                 <tr>
  3090.                     <td width="16">
  3091.                         <input type="checkbox"
  3092.                                title="<%= Server.HTMLEncode( L_CHECKBOXDESC_TEXT ) %>"
  3093.                                id="DistBWCheckbox"
  3094.                                name="DistBWCheckbox" <% CheckIfNotDefault strDistBW, L_UNLIMITED_TEXT %> 
  3095.                                value=""
  3096.                                onClick="ToggleCheckbox( document.mainForm.DistBWCheckbox, document.mainForm.DistBWText );"
  3097.                                tabindex=<%= dwTabIndex %><% dwTabIndex = dwTabIndex + 1 %>
  3098.                                >
  3099.                     </td>
  3100.                     <td class="propshand" align="left">
  3101.                         <label for="DistBWCheckbox"><% RenderWithErrorCheck Server.HTMLEncode( L_BWPEROUTDISTSTREAMLIMIT_TEXT ), "DistConn" %></label>
  3102.                     </td>
  3103.                     <td align=right>
  3104.                         <input type="text" 
  3105.                                name="DistBWText" 
  3106.                                value="<%= strDistBW %>" 
  3107.                                size=<%= dwSizeLimText %>
  3108.                                maxlength=<%= CalcMaxInputLength( strDistBW ) %> 
  3109.                                onChange="JavaScript:CheckLimit( document.mainForm.DistBWCheckbox, document.mainForm.DistBWText );" 
  3110.                                onPaste="JavaScript:CheckLimit( document.mainForm.DistBWCheckbox, document.mainForm.DistBWText );" 
  3111.                                onKeyUp="JavaScript:CheckLimit( document.mainForm.DistBWCheckbox, document.mainForm.DistBWText );"
  3112.                                tabindex=<%= dwTabIndex %> <% dwTabIndex = dwTabIndex + 1 %><% IsDisabled( strDistBW ) %> 
  3113.                                >
  3114.                     </td>
  3115.                     <td bgcolor="#FFFFFF">
  3116.                         <div class="propshelp" align=center>
  3117.                             <center>
  3118.                             <a oncontextmenu="JavaScript:event.cancelBubble=true;return false;" tabIndex="<%= dwTabIndex %>" <% dwTabIndex = dwTabIndex + 1 %> class="propshelp" href="JavaScript:GetLimitDescription( <%= PPLIMDESCOFFSET %> + 5 );"><%= L_DESCRIPTION_TEXT %></a>
  3119.                             </center>
  3120.                         </div>
  3121.                     </td>
  3122.                 </tr>
  3123.  
  3124. <% ' Set Fast Start bandwidth per player (Kbps) %>                
  3125.                 <tr>
  3126.                     <td width="16">
  3127.                         <input type="checkbox"
  3128.                                title="<%= Server.HTMLEncode( L_CHECKBOXDESC_TEXT ) %>"
  3129.                                id="RapidStartBWCheckbox"
  3130.                                name="RapidStartBWCheckbox" <% CheckIfNotDefault strRapidStartBW, DEFAULT_RAPIDSTART_RATE %> 
  3131.                                value=""
  3132.                                onClick="ToggleCheckboxEx( document.mainForm.RapidStartBWCheckbox, document.mainForm.RapidStartBWText, <%= DEFAULT_RAPIDSTART_RATE %> );"
  3133.                                tabindex=<%= dwTabIndex %><% dwTabIndex = dwTabIndex + 1 %>
  3134.                                >
  3135.                     </td>
  3136.                     <td class="propshand" align="left">
  3137.                         <label for="RapidStartBWCheckbox"><% RenderWithErrorCheck Server.HTMLEncode( L_BWPERRAPIDSTARTLIMIT_TEXT ), "RapidStart" %></label>
  3138.                     </td>
  3139.                     <td align=right>
  3140.                         <input type="text" 
  3141.                                name="RapidStartBWText" 
  3142.                                value="<%= strRapidStartBW %>" 
  3143.                                size=<%= dwSizeLimText %>
  3144.                                maxlength=<%= CalcMaxInputLength( strRapidStartBW ) %> 
  3145.                                onChange="JavaScript:CheckLimit( document.mainForm.RapidStartBWCheckbox, document.mainForm.RapidStartBWText );" 
  3146.                                onPaste="JavaScript:CheckLimit( document.mainForm.RapidStartBWCheckbox, document.mainForm.RapidStartBWText );" 
  3147.                                onKeyUp="JavaScript:CheckLimit( document.mainForm.RapidStartBWCheckbox, document.mainForm.RapidStartBWText );"
  3148.                                tabindex=<%= dwTabIndex %> <% dwTabIndex = dwTabIndex + 1 %><% IsDisabled( strRapidStartBW ) %> 
  3149.                                >
  3150.                     </td>
  3151.                     <td bgcolor="#FFFFFF">
  3152.                         <div class="propshelp" align=center>
  3153.                             <center>
  3154.                             <a oncontextmenu="JavaScript:event.cancelBubble=true;return false;" tabIndex="<%= dwTabIndex %>" <% dwTabIndex = dwTabIndex + 1 %> class="propshelp" href="JavaScript:GetLimitDescription( <%= PPLIMDESCOFFSET %> + 10 );"><%= L_DESCRIPTION_TEXT %></a>
  3155.                             </center>
  3156.                         </div>
  3157.                     </td>
  3158.                 </tr>
  3159.  
  3160. <% if ( FALSE = bBroadcastPubPoint ) then %>
  3161. <% ' OD Limit connection rate (per second) %>                
  3162.                 <tr>
  3163.                     <td width="16">
  3164.                         <input type="checkbox"
  3165.                                title="<%= Server.HTMLEncode( L_CHECKBOXDESC_TEXT ) %>"
  3166.                                id="LimitDeliveryRateCheckbox"
  3167.                                name="LimitDeliveryRateCheckbox" <% CheckIfNotDefault strDeliveryRate, DEFAULT_DELIVERY_RATE %> 
  3168.                                value=""
  3169.                                onClick="ToggleCheckboxEx( document.mainForm.LimitDeliveryRateCheckbox, document.mainForm.LimitDeliveryRateText, <%= DEFAULT_DELIVERY_RATE %> );"
  3170.                                tabindex=<%= dwTabIndex %><% dwTabIndex = dwTabIndex + 1 %>
  3171.                                >
  3172.                     </td>
  3173.                     <td class="propshand" align="left">
  3174.                         <label for="LimitDeliveryRateCheckbox"><% RenderWithErrorCheck Server.HTMLEncode( L_ODLIMCXNRATE_TEXT ), "DeliveryRate" %></label>
  3175.                     </td>
  3176.                     <td align=right>
  3177.                         <input type="text" 
  3178.                                name="LimitDeliveryRateText" 
  3179.                                value="<%= strDeliveryRate %>" 
  3180.                                size=<%= dwSizeLimText %>
  3181.                                maxlength=<%= CalcMaxInputLength( strLimitDeliveryRate ) %> 
  3182.                                onChange="JavaScript:CheckLimit( document.mainForm.LimitDeliveryRateCheckbox, document.mainForm.LimitDeliveryRateText );" 
  3183.                                onPaste="JavaScript:CheckLimit( document.mainForm.LimitDeliveryRateCheckbox, document.mainForm.LimitDeliveryRateText );" 
  3184.                                onKeyUp="JavaScript:CheckLimit( document.mainForm.LimitDeliveryRateCheckbox, document.mainForm.LimitDeliveryRateText );"
  3185.                                tabindex=<%= dwTabIndex %> <% dwTabIndex = dwTabIndex + 1 %> <% IsDisabledEx strLimitDeliveryRate, DEFAULT_DELIVERY_RATE %> 
  3186.                                >
  3187.                     </td>
  3188.                     <td bgcolor="#FFFFFF">
  3189.                         <div class="propshelp" align=center>
  3190.                             <center>
  3191.                             <a oncontextmenu="JavaScript:event.cancelBubble=true;return false;" tabIndex="<%= dwTabIndex %>" <% dwTabIndex = dwTabIndex + 1 %> class="propshelp" href="JavaScript:GetLimitDescription( <%= PPLIMDESCOFFSET %> + 9 );"><%= L_DESCRIPTION_TEXT %></a>
  3192.                             </center>
  3193.                         </div>
  3194.                     </td>
  3195.                 </tr>
  3196. <% end if %>
  3197.                 <tr>
  3198.                     <td colspan=4>
  3199.                         <table width="100%" border="1" cellspacing="0" cellpadding=0>
  3200.                         <tr>
  3201.                             <td>
  3202.                                 <table width="100%" border="0" cellspacing=4 cellpadding=0>
  3203.                                 <tr>
  3204.                                     <td width=40% align=right>
  3205.                                         <input type="submit" name="submit" action="<%= RemoveDangerousCharacters( g_strQueryString ) & "&limitOp=submit" %>" value="<%= Server.HTMLEncode( L_APPLYBUTTON_TEXT ) %>" tabindex=<%= dwTabIndex %> <% dwTabIndex = dwTabIndex + 1 %>  disabled ID="Submit1">
  3206.                                         <input type="button" name="cancel" value="<%= Server.HTMLEncode( L_CANCELBUTTONSPACED_TEXT ) %>" Onclick="JavaScript:Cancel();" tabindex=<%= dwTabIndex %> <% dwTabIndex = dwTabIndex + 1 %> disabled ID="Button1">
  3207.                                             
  3208.                                     </td>
  3209.                                 </tr>
  3210.                                 </table>
  3211.                             </td>
  3212.                         </tr>
  3213.                         </table>
  3214.                     </td>
  3215.                 </tr>   
  3216.                 </table>
  3217.             </td>
  3218.         </tr>
  3219.         </table>
  3220.         </td>
  3221. <% end if %>
  3222.         </table>
  3223.         <!-- Dummy element -->
  3224.         <input type="hidden" name="server" value="<%= RemoveSpecifiedChars( g_strQueryStringServer, "\f|\n|\r|<|>" ) %>">
  3225.         <input type="hidden" name="ppID" value="<%= RemoveSpecifiedChars( g_strPubPointID, "\f|\n|\r|<|>" ) %>">
  3226.         <input type="hidden" name="category" value="<%= RemoveSpecifiedChars( strCategory, "\f|\n|\r|<|>" ) %>"><%
  3227.         if( SHOWING_LIMITS <> dwDisplayMode ) then %>
  3228.         <input type="hidden" name="instance" value="<%= RemoveSpecifiedChars( strEncodedInstance, "\f|\n|\r|<|>" ) %>"><%
  3229.         end if %><%
  3230.         if( SHOWING_GENERAL = dwDisplayMode ) then %>
  3231.         <input type="hidden" name="general" value=" "><%
  3232.         elseif( SHOWING_PLUGINS = dwDisplayMode ) then %>
  3233.         <input type="hidden" name="plugins" value=" ">
  3234.         <input type="hidden" name="pluginIndex" value="<% 
  3235.         if( 0 < Len( strCurrentCheckedPluginName ) ) then 
  3236.             Response.Write( RemoveDangerousCharacters( strCurrentCheckedPluginName ) )
  3237.         else 
  3238.             Response.Write( RemoveDangerousCharacters( qs("pluginIndex") ) )
  3239.         end if %>"><%
  3240.         elseif( SHOWING_CREDENTIALS = dwDisplayMode ) then %>
  3241.         <input type="hidden" name="credentials" value=" "><%
  3242.         elseif( SHOWING_NETWORKING = dwDisplayMode ) then %>
  3243.         <input type="hidden" name="networking" value=" "><%
  3244.         elseif( SHOWING_WIRELESS = dwDisplayMode ) then %>
  3245.         <input type="hidden" name="wireless" value=" "><%
  3246.         elseif( SHOWING_LIMITS = dwDisplayMode ) then %>
  3247.         <input type="hidden" name="limits" value=" "><%
  3248.         end if %>
  3249.         </td>
  3250.     </tr>
  3251.     <tr>
  3252.         <td>
  3253.             <%
  3254. if ( SHOWING_LIMITS = dwDisplayMode ) or _
  3255.    ( SHOWING_GENERAL = dwDisplayMode ) or _
  3256.    ( ( SHOWING_PLUGINS = dwDisplayMode ) and ( 0 = dwNumPluginsDisplayed ) ) then
  3257.             ToolbarButtonText ( 0 ) = L_BUTTONENABLE_TEXT
  3258.             ToolbarButtonImage( 0 ) = IMAGE_ENABLEG
  3259.             ToolbarButtonImageDisabled( 0 ) = IMAGE_ENABLEG
  3260.             ToolbarButtonLink ( 0 ) = ""
  3261.             if( SHOWING_PLUGINS = dwDisplayMode ) then
  3262.                 ToolbarButtonAltText( 0 ) = L_ENABLEPLUGTT_TEXT
  3263.             else
  3264.                 ToolbarButtonAltText( 0 ) = L_ENABLEPLUG_TEXT
  3265.             end if
  3266.  
  3267.             ToolbarButtonText ( 1 ) = L_BUTTONDISABLE_TEXT
  3268.             ToolbarButtonImage( 1 ) = IMAGE_DISABLEG
  3269.             ToolbarButtonImageDisabled( 1 ) = IMAGE_DISABLEG
  3270.             ToolbarButtonLink ( 1 ) = ""
  3271.             if( SHOWING_PLUGINS = dwDisplayMode ) then
  3272.                 ToolbarButtonAltText( 1 ) = L_DISABLEPLUGTT_TEXT
  3273.             else
  3274.                 ToolbarButtonAltText( 1 ) = L_DISABLEPLUG_TEXT
  3275.             end if
  3276.  
  3277.             ToolbarButtonText ( 2 ) = L_BUTTONREMOVE_TEXT
  3278.             ToolbarButtonImage( 2 ) = IMAGE_REMOVEG
  3279.             ToolbarButtonLink ( 2 ) = ""
  3280.             ToolbarButtonAltText( 2 ) = L_REMOVEPLUG_TEXT
  3281.  
  3282.             ToolbarButtonText ( 3 ) = L_BUTTONDUPLICATE_TEXT
  3283.             ToolbarButtonImage( 3 ) = IMAGE_PLUGINDUPLICATEG
  3284.             ToolbarButtonLink ( 3 ) = ""
  3285.             ToolbarButtonAltText( 3 ) = L_DUPPLUG_TEXT
  3286.  
  3287.             ToolbarButtonText ( 4 ) = L_BUTTONPROPERTIES_TEXT
  3288.             ToolbarButtonImage( 4 ) = IMAGE_PROPERTIESG
  3289.             ToolbarButtonLink ( 4 ) = ""
  3290.             ToolbarButtonAltText( 4 ) = L_VIEWPROPS_TEXT
  3291.  
  3292.             ToolbarButtonText ( 5 ) = L_BUTTONRENAME_TEXT
  3293.             ToolbarButtonImage( 5 ) = IMAGE_RENAMEG
  3294.             ToolbarButtonLink ( 5 ) = ""
  3295.             ToolbarButtonAltText( 5 ) = L_RENAMEPLUG_TEXT
  3296. elseif SHOWING_WIRELESS = dwDisplayMode then
  3297.             ToolbarButtonText ( 0 ) = L_BUTTONENABLE_TEXT
  3298.             ToolbarButtonImage( 0 ) = IMAGE_ENABLE
  3299.             ToolbarButtonImageDisabled( 0 ) = IMAGE_ENABLEG
  3300.             ToolbarButtonLink ( 0 ) = "Javascript:Enable()"
  3301.             if( SHOWING_PLUGINS = dwDisplayMode ) then
  3302.                 ToolbarButtonAltText( 0 ) = L_ENABLEPLUGTT_TEXT
  3303.             else
  3304.                 ToolbarButtonAltText(  ) = L_ENABLEPLUG_TEXT
  3305.             end if
  3306.  
  3307.             ToolbarButtonText ( 1 ) = L_BUTTONDISABLE_TEXT
  3308.             ToolbarButtonImage( 1 ) = IMAGE_DISABLE
  3309.             ToolbarButtonImageDisabled( 1 ) = IMAGE_DISABLEG
  3310.             ToolbarButtonLink ( 1 ) = "Javascript:Disable()"
  3311.             if( SHOWING_PLUGINS = dwDisplayMode ) then
  3312.                 ToolbarButtonAltText( 1 ) = L_DISABLEPLUGTT_TEXT
  3313.             else
  3314.                 ToolbarButtonAltText( 1 ) = L_DISABLEPLUG_TEXT
  3315.             end if
  3316.  
  3317.             ToolbarButtonText ( 2 ) = L_BUTTONREMOVE_TEXT
  3318.             ToolbarButtonImage( 2 ) = IMAGE_REMOVEG
  3319.             ToolbarButtonLink ( 2 ) = ""
  3320.             ToolbarButtonAltText( 2 ) = L_REMOVEPLUG_TEXT
  3321.  
  3322.             ToolbarButtonText ( 3 ) = L_BUTTONDUPLICATE_TEXT
  3323.             ToolbarButtonImage( 3 ) = IMAGE_PLUGINDUPLICATEG
  3324.             ToolbarButtonLink ( 3 ) = ""
  3325.             ToolbarButtonAltText( 3 ) = L_DUPPLUG_TEXT
  3326.  
  3327.             ToolbarButtonText ( 4 ) = L_BUTTONPROPERTIES_TEXT
  3328.             ToolbarButtonImage( 4 ) = IMAGE_PROPERTIES
  3329.             ToolbarButtonLink ( 4 ) = "Javascript:Properties()"
  3330.             ToolbarButtonAltText( 4 ) = L_VIEWPROPS_TEXT
  3331.  
  3332.             ToolbarButtonText ( 5 ) = L_BUTTONRENAME_TEXT
  3333.             ToolbarButtonImage( 5 ) = IMAGE_RENAMEG
  3334.             ToolbarButtonLink ( 5 ) = ""
  3335.             ToolbarButtonAltText( 5 ) = L_RENAMEPLUG_TEXT
  3336. else
  3337.     if( ( SHOWING_NETWORKING = dwDisplayMode ) or ( SHOWING_CACHEPROXYMGMT = dwDisplayMode ) or ( SHOWING_CREDENTIALS = dwDisplayMode ) ) then
  3338.             ToolbarButtonText ( 0 ) = L_BUTTONENABLE_TEXT
  3339.             ToolbarButtonImage( 0 ) = IMAGE_ENABLEG
  3340.             ToolbarButtonImageDisabled( 0 ) = IMAGE_ENABLEG
  3341.             ToolbarButtonLink ( 0 ) = ""
  3342.             ToolbarButtonAltText( 0 ) = L_ENABLEPLUG_TEXT
  3343.  
  3344.             ToolbarButtonText ( 1 ) = L_BUTTONDISABLE_TEXT
  3345.             ToolbarButtonImage( 1 ) = IMAGE_DISABLEG
  3346.             ToolbarButtonImageDisabled( 1 ) = IMAGE_DISABLEG
  3347.             ToolbarButtonLink ( 1 ) = ""
  3348.             ToolbarButtonAltText( 1 ) = L_DISABLEPLUG_TEXT
  3349.             
  3350.             ToolbarButtonText ( 2 ) = L_BUTTONREMOVE_TEXT
  3351.             ToolbarButtonImage( 2 ) = IMAGE_REMOVEG
  3352.             ToolbarButtonLink ( 2 ) = ""
  3353.             ToolbarButtonAltText( 2 ) = L_REMOVEPLUG_TEXT
  3354.  
  3355.             ToolbarButtonText ( 3 ) = L_BUTTONDUPLICATE_TEXT
  3356.             ToolbarButtonImage( 3 ) = IMAGE_PLUGINDUPLICATEG
  3357.             ToolbarButtonLink ( 3 ) = ""
  3358.             ToolbarButtonAltText( 3 ) = L_DUPPLUG_TEXT
  3359.             
  3360.     else
  3361.             ToolbarButtonText ( 0 ) = L_BUTTONENABLE_TEXT
  3362.             ToolbarButtonImage( 0 ) = IMAGE_ENABLE
  3363.             ToolbarButtonImageDisabled( 0 ) = IMAGE_ENABLEG
  3364.             ToolbarButtonLink ( 0 ) = "Javascript:Enable()"
  3365.             if( SHOWING_PLUGINS = dwDisplayMode ) then
  3366.                 ToolbarButtonAltText( 0 ) = L_ENABLEPLUGTT_TEXT
  3367.             else
  3368.                 ToolbarButtonAltText( 0 ) = L_ENABLEPLUG_TEXT
  3369.             end if
  3370.  
  3371.             ToolbarButtonText ( 1 ) = L_BUTTONDISABLE_TEXT
  3372.             ToolbarButtonImage( 1 ) = IMAGE_DISABLE
  3373.             ToolbarButtonImageDisabled( 1 ) = IMAGE_DISABLEG
  3374.             ToolbarButtonLink ( 1 ) = "Javascript:Disable()"
  3375.             if( SHOWING_PLUGINS = dwDisplayMode ) then
  3376.                 ToolbarButtonAltText( 1 ) = L_DISABLEPLUGTT_TEXT
  3377.             else
  3378.                 ToolbarButtonAltText( 1 ) = L_DISABLEPLUG_TEXT
  3379.             end if
  3380.             
  3381.             ToolbarButtonText ( 2 ) = L_BUTTONREMOVE_TEXT
  3382.             ToolbarButtonImage( 2 ) = IMAGE_REMOVE
  3383.             ToolbarButtonImageDisabled( 2 ) = IMAGE_REMOVEG
  3384.             ToolbarButtonLink ( 2 ) = "Javascript:Remove()"
  3385.             ToolbarButtonAltText( 2 ) = L_REMOVEPLUG_TEXT
  3386.  
  3387.             ToolbarButtonText ( 3 ) = L_BUTTONDUPLICATE_TEXT
  3388.             ToolbarButtonImage( 3 ) = IMAGE_PLUGINDUPLICATE
  3389.             ToolbarButtonImageDisabled( 3 ) = IMAGE_PLUGINDUPLICATEG
  3390.             ToolbarButtonLink ( 3 ) = "Javascript:Duplicate()"
  3391.             ToolbarButtonAltText( 3 ) = L_DUPPLUG_TEXT
  3392.     end if
  3393.  
  3394.             ToolbarButtonText ( 4 ) = L_BUTTONPROPERTIES_TEXT
  3395.             ToolbarButtonImage( 4 ) = IMAGE_PROPERTIES
  3396.             ToolbarButtonImageDisabled( 4 ) = IMAGE_PROPERTIESG
  3397.             ToolbarButtonLink ( 4 ) = "Javascript:Properties()"
  3398.             ToolbarButtonAltText( 4 ) = L_VIEWPROPS_TEXT
  3399.  
  3400.     if( ( SHOWING_PLUGINS = dwDisplayMode ) and ( 0 < dwNumPluginsDisplayed ) ) then
  3401.             ToolbarButtonText ( 5 ) = L_BUTTONRENAME_TEXT
  3402.             ToolbarButtonImage( 5 ) = IMAGE_RENAME
  3403.             ToolbarButtonLink ( 5 ) = "Javascript:Rename()"
  3404.             ToolbarButtonAltText( 5 ) = L_RENAMEPLUG_TEXT
  3405.     else            
  3406.             ToolbarButtonText ( 5 ) = L_BUTTONRENAME_TEXT
  3407.             ToolbarButtonImage( 5 ) = IMAGE_RENAMEG
  3408.             ToolbarButtonLink ( 5 ) = ""
  3409.             ToolbarButtonAltText( 5 ) = L_RENAMEPLUG_TEXT
  3410.     end if
  3411. end if
  3412.     Dim dwLastButton
  3413.     dwLastButton = 5
  3414.     if( SHOWING_PLUGINS = dwDisplayMode ) then
  3415.             ToolbarButtonText ( 6 ) = L_BUTTONREFRESH_TEXT
  3416.             ToolbarButtonImage( 6 ) = IMAGE_REFRESH
  3417.             ToolbarButtonLink ( 6 ) = "JavaScript:Refresh();"
  3418.             ToolbarButtonAltText( 6 ) = L_BUTTONREFRESHLIST_TEXT
  3419.             dwLastButton = 6
  3420.     end if
  3421.     if( Session( "ShowServerList" ) ) then
  3422.             dwLastButton = dwLastButton + 1
  3423.             ToolbarButtonText ( dwLastButton ) = L_BUTTONRETURNTOSERVERLIST_TEXT
  3424.             ToolbarButtonImage( dwLastButton ) = IMAGE_SERVERLIST
  3425.             ToolbarButtonLink ( dwLastButton ) = SERVERSLIST_PATH
  3426.             ToolbarButtonAltText( dwLastButton ) = L_RETURNTOSL_TEXT
  3427.     end if
  3428.  
  3429.             dwLastButton = dwLastButton + 1
  3430.             ToolbarButtonText ( dwLastButton ) = L_BUTTONHELP_TEXT
  3431.             ToolbarButtonImage( dwLastButton ) = IMAGE_HELP
  3432.             ToolbarButtonLink ( dwLastButton ) = HELPTOKEN
  3433.             ToolbarButtonAltText( dwLastButton ) = L_HELPALT_TEXT
  3434.             ToolbarHelpURL = H_PPPLUGINSHELPTOPIC
  3435.             ToolbarNesting = H_PPLEVEL
  3436.             %>
  3437. <% DrawToolbar TRUE, ( dwLastButton + 1 ) %>
  3438.           </td>
  3439.         </tr>
  3440.         </table>
  3441.         <!-- END TOOLBAR -->
  3442.     </td>
  3443.  
  3444. </tr>
  3445. </table>
  3446. </form><%
  3447. if ( SHOWING_LIMITS <> dwDisplayMode ) then
  3448.     DrawRefreshControl TRUE
  3449. end if
  3450. DrawCopyrightInfo
  3451. DrawStdFooter
  3452. %>
  3453. </body><%
  3454.  
  3455. if ( ( CAT_MCAST = strCategory ) and ( TRUE = Session( "DisplayMcastWarning" ) ) ) then 
  3456.     Session( "DisplayMcastWarning" ) = FALSE
  3457.     %>
  3458. <script language="JavaScript">
  3459.     window.alert( "<%= RemoveDangerousCharacters( L_ENABLEMCASTWARN_TEXT ) %>" );
  3460. </script>
  3461. <%
  3462. end if
  3463.  
  3464. if Session( "ErrorNumber" ) <> 0 then %>
  3465. <script language="JavaScript">
  3466.     UpdateTreeView();
  3467. </script>
  3468. <%
  3469. end if 
  3470.  
  3471. if( bPluginDisabledError ) then
  3472.     Session( "PageReloadedToDisplayError" ) = 1
  3473.     err.number = CDbl( strError )
  3474.     err.Description = Session( "ErrDisablePluginDesc" )
  3475.     Session( "ErrDisablePluginDesc" ) = ""
  3476.     ErrorDetected( "disable" )
  3477. end if
  3478.  
  3479. AlertUserWithPopupErrorDialog 
  3480.  
  3481. if( bPluginDisabledError ) then
  3482.     ClearError
  3483. end if
  3484. %>
  3485. <script language="JavaScript">
  3486. /*@cc_on @*/<%
  3487. if ( 0 = strComp( "nopluginui", qs("err"), vbTextCompare ) ) then
  3488. %>
  3489. window.alert( "<%= RemoveDangerousCharacters( L_NOPROPERTYPAGE_TEXT ) %>" );
  3490. document.location.replace( "<%= Request.ServerVariables( "PATH_INFO" ) & "?server=" & g_strQueryStringServer & "&ppID=" & qs("ppID") & "&category=" & strCategory & "&pluginIndex=" & strPluginIndex %>" );
  3491. <%
  3492. end if
  3493.  
  3494. if ( SHOWING_PLUGINS = dwDisplayMode ) and ( "enable" = qs("op") ) and ( Session( "ErrorNumber" ) <> 0 ) then %>
  3495. document.location.replace( "pubpoint_props.asp?server=<%= g_strQueryStringServer %>&ppID=<%= g_strPubPointID %>&category=<%= strCategory %>&pluginIndex=<%= strPluginIndex %>" );
  3496. <%
  3497. else
  3498. '    DumpQueryString
  3499. '    DumpFormPosting
  3500.     OnErrorGoBack 
  3501. end if
  3502.  
  3503. if( bPluginDisabledError ) then
  3504.     ClearError
  3505. end if
  3506. if Session( "ErrorNumber" ) <> 0 then        
  3507. %>
  3508. document.location.replace( "<%= Request.ServerVariables( "PATH_INFO" ) & "?server=" & g_strQueryStringServer & "&ppID=" & qs("ppID") & "&category=" & strCategory & "&instance=" & strEncodedInstance & "&pluginIndex=" & strPluginIndex %>" );
  3509. <%
  3510. end if %>
  3511.  
  3512. //////////////////////////////////////////////////////////////////////////
  3513. function SetInitialState()
  3514. {
  3515.     <% jsTRY %>
  3516.         g_szCurPluginElementName = new String( "<%= strCurrentCheckedPluginName %>" );
  3517.         g_bCurSelCanBeDuplicated = <%= BoolToText( bCurSelCanBeDuplicated ) %>;
  3518.         g_bCurSelCanBeRemoved = <%= BoolToText( bCurSelCanBeRemoved ) %>;
  3519.         g_bCurSelSupportsEnableDisable = <%= BoolToText( bCurSelSupportsEnableDisable ) %>;
  3520.         g_bCurSelSupportsProperties = <%= BoolToText( bCurSelSupportsProperties ) %>;
  3521.         g_bInError = <%= BoolToText( bCurSelInError ) %>;
  3522.         g_bEnabled = <%= BoolToText( bCurSelEnabled ) %>;
  3523.         g_bShowActiveScriptWarning = <%= BoolToText( bCurSelIsActiveScriptNoFilename ) %>;<%
  3524.  
  3525. if ( SHOWING_PLUGINS = dwDisplayMode ) then
  3526.     if( FALSE = bCheckedAnItem ) then %>
  3527.         if( document.mainForm.plugins && ( document.mainForm.plugins[ 0 ] ) )
  3528.         {
  3529.             if( document.mainForm.plugins[ 0 ] )
  3530.             {
  3531.                 document.mainForm.plugins[ 0 ].checked = true;
  3532.                 document.mainForm.plugins[ 0 ].onclick();
  3533.             }
  3534.         }
  3535. <% 
  3536.         end if 
  3537.     end if %>
  3538.     <% jsCATCH %>
  3539. }
  3540. </script>
  3541. </html><%
  3542. LatchCurrentPage "pubpoints/pubpoint_props.asp", qs
  3543. EndErrorHandling "pubpoint_props.asp" 
  3544.  
  3545. on error resume next
  3546. WMSServerHashASPCleanup
  3547. WMSConnectASPCleanup
  3548. %>